Goertzel Browser [Loxx]As the financial markets become increasingly complex and data-driven, traders and analysts must leverage powerful tools to gain insights and make informed decisions. One such tool is the Goertzel Browser indicator, a sophisticated technical analysis indicator that helps identify cyclical patterns in financial data. This powerful tool is capable of detecting cyclical patterns in financial data, helping traders to make better predictions and optimize their trading strategies. With its unique combination of mathematical algorithms and advanced charting capabilities, this indicator has the potential to revolutionize the way we approach financial modeling and trading.
 █ Brief Overview of the Goertzel Browser 
The Goertzel Browser is a sophisticated technical analysis tool that utilizes the Goertzel algorithm to analyze and visualize cyclical components within a financial time series. By identifying these cycles and their characteristics, the indicator aims to provide valuable insights into the market's underlying price movements, which could potentially be used for making informed trading decisions.
The primary purpose of this indicator is to:
1. Detect and analyze the dominant cycles present in the price data.
2. Reconstruct and visualize the composite wave based on the detected cycles.
3. Project the composite wave into the future, providing a potential roadmap for upcoming price movements.
To achieve this, the indicator performs several tasks:
1. Detrending the price data: The indicator preprocesses the price data using various detrending techniques, such as Hodrick-Prescott filters, zero-lag moving averages, and linear regression, to remove the underlying trend and focus on the cyclical components.
2. Applying the Goertzel algorithm: The indicator applies the Goertzel algorithm to the detrended price data, identifying the dominant cycles and their characteristics, such as amplitude, phase, and cycle strength.
3. Constructing the composite wave: The indicator reconstructs the composite wave by combining the detected cycles, either by using a user-defined list of cycles or by selecting the top N cycles based on their amplitude or cycle strength.
4. Visualizing the composite wave: The indicator plots the composite wave, using solid lines for the past and dotted lines for the future projections. The color of the lines indicates whether the wave is increasing or decreasing.
5. Displaying cycle information: The indicator provides a table that displays detailed information about the detected cycles, including their rank, period, Bartel's test results, amplitude, and phase.
This indicator is a powerful tool that employs the Goertzel algorithm to analyze and visualize the cyclical components within a financial time series. By providing insights into the underlying price movements and their potential future trajectory, the indicator aims to assist traders in making more informed decisions.
 █ What is the Goertzel Algorithm? 
The Goertzel algorithm, named after Gerald Goertzel, is a digital signal processing technique that is used to efficiently compute individual terms of the Discrete Fourier Transform (DFT). It was first introduced in 1958, and since then, it has found various applications in the fields of engineering, mathematics, and physics.
The Goertzel algorithm is primarily used to detect specific frequency components within a digital signal, making it particularly useful in applications where only a few frequency components are of interest. The algorithm is computationally efficient, as it requires fewer calculations than the Fast Fourier Transform (FFT) when detecting a small number of frequency components. This efficiency makes the Goertzel algorithm a popular choice in applications such as:
1. Telecommunications: The Goertzel algorithm is used for decoding Dual-Tone Multi-Frequency (DTMF) signals, which are the tones generated when pressing buttons on a telephone keypad. By identifying specific frequency components, the algorithm can accurately determine which button has been pressed.
2. Audio processing: The algorithm can be used to detect specific pitches or harmonics in an audio signal, making it useful in applications like pitch detection and tuning musical instruments.
3. Vibration analysis: In the field of mechanical engineering, the Goertzel algorithm can be applied to analyze vibrations in rotating machinery, helping to identify faulty components or signs of wear.
4. Power system analysis: The algorithm can be used to measure harmonic content in power systems, allowing engineers to assess power quality and detect potential issues.
The Goertzel algorithm is used in these applications because it offers several advantages over other methods, such as the FFT:
1. Computational efficiency: The Goertzel algorithm requires fewer calculations when detecting a small number of frequency components, making it more computationally efficient than the FFT in these cases.
2. Real-time analysis: The algorithm can be implemented in a streaming fashion, allowing for real-time analysis of signals, which is crucial in applications like telecommunications and audio processing.
3. Memory efficiency: The Goertzel algorithm requires less memory than the FFT, as it only computes the frequency components of interest.
4. Precision: The algorithm is less susceptible to numerical errors compared to the FFT, ensuring more accurate results in applications where precision is essential.
The Goertzel algorithm is an efficient digital signal processing technique that is primarily used to detect specific frequency components within a signal. Its computational efficiency, real-time capabilities, and precision make it an attractive choice for various applications, including telecommunications, audio processing, vibration analysis, and power system analysis. The algorithm has been widely adopted since its introduction in 1958 and continues to be an essential tool in the fields of engineering, mathematics, and physics.
 █ Goertzel Algorithm in Quantitative Finance: In-Depth Analysis and Applications 
The Goertzel algorithm, initially designed for signal processing in telecommunications, has gained significant traction in the financial industry due to its efficient frequency detection capabilities. In quantitative finance, the Goertzel algorithm has been utilized for uncovering hidden market cycles, developing data-driven trading strategies, and optimizing risk management. This section delves deeper into the applications of the Goertzel algorithm in finance, particularly within the context of quantitative trading and analysis.
 Unveiling Hidden Market Cycles: 
Market cycles are prevalent in financial markets and arise from various factors, such as economic conditions, investor psychology, and market participant behavior. The Goertzel algorithm's ability to detect and isolate specific frequencies in price data helps trader analysts identify hidden market cycles that may otherwise go unnoticed. By examining the amplitude, phase, and periodicity of each cycle, traders can better understand the underlying market structure and dynamics, enabling them to develop more informed and effective trading strategies.
 Developing Quantitative Trading Strategies: 
The Goertzel algorithm's versatility allows traders to incorporate its insights into a wide range of trading strategies. By identifying the dominant market cycles in a financial instrument's price data, traders can create data-driven strategies that capitalize on the cyclical nature of markets.
For instance, a trader may develop a mean-reversion strategy that takes advantage of the identified cycles. By establishing positions when the price deviates from the predicted cycle, the trader can profit from the subsequent reversion to the cycle's mean. Similarly, a momentum-based strategy could be designed to exploit the persistence of a dominant cycle by entering positions that align with the cycle's direction.
 Enhancing Risk Management: 
The Goertzel algorithm plays a vital role in risk management for quantitative strategies. By analyzing the cyclical components of a financial instrument's price data, traders can gain insights into the potential risks associated with their trading strategies.
By monitoring the amplitude and phase of dominant cycles, a trader can detect changes in market dynamics that may pose risks to their positions. For example, a sudden increase in amplitude may indicate heightened volatility, prompting the trader to adjust position sizing or employ hedging techniques to protect their portfolio. Additionally, changes in phase alignment could signal a potential shift in market sentiment, necessitating adjustments to the trading strategy.
 Expanding Quantitative Toolkits: 
Traders can augment the Goertzel algorithm's insights by combining it with other quantitative techniques, creating a more comprehensive and sophisticated analysis framework. For example, machine learning algorithms, such as neural networks or support vector machines, could be trained on features extracted from the Goertzel algorithm to predict future price movements more accurately.
Furthermore, the Goertzel algorithm can be integrated with other technical analysis tools, such as moving averages or oscillators, to enhance their effectiveness. By applying these tools to the identified cycles, traders can generate more robust and reliable trading signals.
The Goertzel algorithm offers invaluable benefits to quantitative finance practitioners by uncovering hidden market cycles, aiding in the development of data-driven trading strategies, and improving risk management. By leveraging the insights provided by the Goertzel algorithm and integrating it with other quantitative techniques, traders can gain a deeper understanding of market dynamics and devise more effective trading strategies. 
 █ Indicator Inputs 
 src:  This is the source data for the analysis, typically the closing price of the financial instrument.
 detrendornot:  This input determines the method used for detrending the source data. Detrending is the process of removing the underlying trend from the data to focus on the cyclical components. 
The available options are:
hpsmthdt: Detrend using Hodrick-Prescott filter centered moving average.
zlagsmthdt: Detrend using zero-lag moving average centered moving average.
logZlagRegression: Detrend using logarithmic zero-lag linear regression.
hpsmth: Detrend using Hodrick-Prescott filter.
zlagsmth: Detrend using zero-lag moving average.
 DT_HPper1 and DT_HPper2:  These inputs define the period range for the Hodrick-Prescott filter centered moving average when detrendornot is set to hpsmthdt.
 DT_ZLper1 and DT_ZLper2:  These inputs define the period range for the zero-lag moving average centered moving average when detrendornot is set to zlagsmthdt.
 DT_RegZLsmoothPer:  This input defines the period for the zero-lag moving average used in logarithmic zero-lag linear regression when detrendornot is set to logZlagRegression.
 HPsmoothPer:  This input defines the period for the Hodrick-Prescott filter when detrendornot is set to hpsmth.
 ZLMAsmoothPer:  This input defines the period for the zero-lag moving average when detrendornot is set to zlagsmth.
 MaxPer:  This input sets the maximum period for the Goertzel algorithm to search for cycles.
 squaredAmp:  This boolean input determines whether the amplitude should be squared in the Goertzel algorithm.
 useAddition:  This boolean input determines whether the Goertzel algorithm should use addition for combining the cycles.
 useCosine:  This boolean input determines whether the Goertzel algorithm should use cosine waves instead of sine waves.
 UseCycleStrength:  This boolean input determines whether the Goertzel algorithm should compute the cycle strength, which is a normalized measure of the cycle's amplitude.
 WindowSizePast and WindowSizeFuture:  These inputs define the window size for past and future projections of the composite wave.
 FilterBartels:  This boolean input determines whether Bartel's test should be applied to filter out non-significant cycles.
 BartNoCycles:  This input sets the number of cycles to be used in Bartel's test.
 BartSmoothPer:  This input sets the period for the moving average used in Bartel's test.
 BartSigLimit:  This input sets the significance limit for Bartel's test, below which cycles are considered insignificant.
 SortBartels:  This boolean input determines whether the cycles should be sorted by their Bartel's test results.
 UseCycleList:  This boolean input determines whether a user-defined list of cycles should be used for constructing the composite wave. If set to false, the top N cycles will be used.
 Cycle1, Cycle2, Cycle3, Cycle4, and Cycle5:  These inputs define the user-defined list of cycles when 'UseCycleList' is set to true. If using a user-defined list, each of these inputs represents the period of a specific cycle to include in the composite wave.
 StartAtCycle:  This input determines the starting index for selecting the top N cycles when UseCycleList is set to false. This allows you to skip a certain number of cycles from the top before selecting the desired number of cycles.
 UseTopCycles:  This input sets the number of top cycles to use for constructing the composite wave when UseCycleList is set to false. The cycles are ranked based on their amplitudes or cycle strengths, depending on the UseCycleStrength input.
 SubtractNoise:  This boolean input determines whether to subtract the noise (remaining cycles) from the composite wave. If set to true, the composite wave will only include the top N cycles specified by UseTopCycles.
 █ Exploring Auxiliary Functions 
The following functions demonstrate advanced techniques for analyzing financial markets, including zero-lag moving averages, Bartels probability, detrending, and Hodrick-Prescott filtering. This section examines each function in detail, explaining their purpose, methodology, and applications in finance. We will examine how each function contributes to the overall performance and effectiveness of the indicator and how they work together to create a powerful analytical tool.
 Zero-Lag Moving Average: 
The zero-lag moving average function is designed to minimize the lag typically associated with moving averages. This is achieved through a two-step weighted linear regression process that emphasizes more recent data points. The function calculates a linearly weighted moving average (LWMA) on the input data and then applies another LWMA on the result. By doing this, the function creates a moving average that closely follows the price action, reducing the lag and improving the responsiveness of the indicator.
The zero-lag moving average function is used in the indicator to provide a responsive, low-lag smoothing of the input data. This function helps reduce the noise and fluctuations in the data, making it easier to identify and analyze underlying trends and patterns. By minimizing the lag associated with traditional moving averages, this function allows the indicator to react more quickly to changes in market conditions, providing timely signals and improving the overall effectiveness of the indicator.
 Bartels Probability: 
The Bartels probability function calculates the probability of a given cycle being significant in a time series. It uses a mathematical test called the Bartels test to assess the significance of cycles detected in the data. The function calculates coefficients for each detected cycle and computes an average amplitude and an expected amplitude. By comparing these values, the Bartels probability is derived, indicating the likelihood of a cycle's significance. This information can help in identifying and analyzing dominant cycles in financial markets.
The Bartels probability function is incorporated into the indicator to assess the significance of detected cycles in the input data. By calculating the Bartels probability for each cycle, the indicator can prioritize the most significant cycles and focus on the market dynamics that are most relevant to the current trading environment. This function enhances the indicator's ability to identify dominant market cycles, improving its predictive power and aiding in the development of effective trading strategies.
 Detrend Logarithmic Zero-Lag Regression: 
The detrend logarithmic zero-lag regression function is used for detrending data while minimizing lag. It combines a zero-lag moving average with a linear regression detrending method. The function first calculates the zero-lag moving average of the logarithm of input data and then applies a linear regression to remove the trend. By detrending the data, the function isolates the cyclical components, making it easier to analyze and interpret the underlying market dynamics.
The detrend logarithmic zero-lag regression function is used in the indicator to isolate the cyclical components of the input data. By detrending the data, the function enables the indicator to focus on the cyclical movements in the market, making it easier to analyze and interpret market dynamics. This function is essential for identifying cyclical patterns and understanding the interactions between different market cycles, which can inform trading decisions and enhance overall market understanding.
 Bartels Cycle Significance Test: 
The Bartels cycle significance test is a function that combines the Bartels probability function and the detrend logarithmic zero-lag regression function to assess the significance of detected cycles. The function calculates the Bartels probability for each cycle and stores the results in an array. By analyzing the probability values, traders and analysts can identify the most significant cycles in the data, which can be used to develop trading strategies and improve market understanding.
The Bartels cycle significance test function is integrated into the indicator to provide a comprehensive analysis of the significance of detected cycles. By combining the Bartels probability function and the detrend logarithmic zero-lag regression function, this test evaluates the significance of each cycle and stores the results in an array. The indicator can then use this information to prioritize the most significant cycles and focus on the most relevant market dynamics. This function enhances the indicator's ability to identify and analyze dominant market cycles, providing valuable insights for trading and market analysis.
 Hodrick-Prescott Filter: 
The Hodrick-Prescott filter is a popular technique used to separate the trend and cyclical components of a time series. The function applies a smoothing parameter to the input data and calculates a smoothed series using a two-sided filter. This smoothed series represents the trend component, which can be subtracted from the original data to obtain the cyclical component. The Hodrick-Prescott filter is commonly used in economics and finance to analyze economic data and financial market trends.
The Hodrick-Prescott filter is incorporated into the indicator to separate the trend and cyclical components of the input data. By applying the filter to the data, the indicator can isolate the trend component, which can be used to analyze long-term market trends and inform trading decisions. Additionally, the cyclical component can be used to identify shorter-term market dynamics and provide insights into potential trading opportunities. The inclusion of the Hodrick-Prescott filter adds another layer of analysis to the indicator, making it more versatile and comprehensive.
 Detrending Options: Detrend Centered Moving Average: 
The detrend centered moving average function provides different detrending methods, including the Hodrick-Prescott filter and the zero-lag moving average, based on the selected detrending method. The function calculates two sets of smoothed values using the chosen method and subtracts one set from the other to obtain a detrended series. By offering multiple detrending options, this function allows traders and analysts to select the most appropriate method for their specific needs and preferences.
The detrend centered moving average function is integrated into the indicator to provide users with multiple detrending options, including the Hodrick-Prescott filter and the zero-lag moving average. By offering multiple detrending methods, the indicator allows users to customize the analysis to their specific needs and preferences, enhancing the indicator's overall utility and adaptability. This function ensures that the indicator can cater to a wide range of trading styles and objectives, making it a valuable tool for a diverse group of market participants.
The auxiliary functions functions discussed in this section demonstrate the power and versatility of mathematical techniques in analyzing financial markets. By understanding and implementing these functions, traders and analysts can gain valuable insights into market dynamics, improve their trading strategies, and make more informed decisions. The combination of zero-lag moving averages, Bartels probability, detrending methods, and the Hodrick-Prescott filter provides a comprehensive toolkit for analyzing and interpreting financial data. The integration of advanced functions in a financial indicator creates a powerful and versatile analytical tool that can provide valuable insights into financial markets. By combining the zero-lag moving average,
 █ In-Depth Analysis of the Goertzel Browser Code 
The Goertzel Browser code is an implementation of the Goertzel Algorithm, an efficient technique to perform spectral analysis on a signal. The code is designed to detect and analyze dominant cycles within a given financial market data set. This section will provide an extremely detailed explanation of the code, its structure, functions, and intended purpose.
 Function signature and input parameters: 
The Goertzel Browser function accepts numerous input parameters for customization, including source data (src), the current bar (forBar), sample size (samplesize), period (per), squared amplitude flag (squaredAmp), addition flag (useAddition), cosine flag (useCosine), cycle strength flag (UseCycleStrength), past and future window sizes (WindowSizePast, WindowSizeFuture), Bartels filter flag (FilterBartels), Bartels-related parameters (BartNoCycles, BartSmoothPer, BartSigLimit), sorting flag (SortBartels), and output buffers (goeWorkPast, goeWorkFuture, cyclebuffer, amplitudebuffer, phasebuffer, cycleBartelsBuffer).
 Initializing variables and arrays: 
The code initializes several float arrays (goeWork1, goeWork2, goeWork3, goeWork4) with the same length as twice the period (2 * per). These arrays store intermediate results during the execution of the algorithm.
 Preprocessing input data: 
The input data (src) undergoes preprocessing to remove linear trends. This step enhances the algorithm's ability to focus on cyclical components in the data. The linear trend is calculated by finding the slope between the first and last values of the input data within the sample.
 Iterative calculation of Goertzel coefficients: 
The core of the Goertzel Browser algorithm lies in the iterative calculation of Goertzel coefficients for each frequency bin. These coefficients represent the spectral content of the input data at different frequencies. The code iterates through the range of frequencies, calculating the Goertzel coefficients using a nested loop structure.
 Cycle strength computation: 
The code calculates the cycle strength based on the Goertzel coefficients. This is an optional step, controlled by the UseCycleStrength flag. The cycle strength provides information on the relative influence of each cycle on the data per bar, considering both amplitude and cycle length. The algorithm computes the cycle strength either by squaring the amplitude (controlled by squaredAmp flag) or using the actual amplitude values.
 Phase calculation: 
The Goertzel Browser code computes the phase of each cycle, which represents the position of the cycle within the input data. The phase is calculated using the arctangent function (math.atan) based on the ratio of the imaginary and real components of the Goertzel coefficients.
 Peak detection and cycle extraction: 
The algorithm performs peak detection on the computed amplitudes or cycle strengths to identify dominant cycles. It stores the detected cycles in the cyclebuffer array, along with their corresponding amplitudes and phases in the amplitudebuffer and phasebuffer arrays, respectively.
 Sorting cycles by amplitude or cycle strength: 
The code sorts the detected cycles based on their amplitude or cycle strength in descending order. This allows the algorithm to prioritize cycles with the most significant impact on the input data.
 Bartels cycle significance test: 
If the FilterBartels flag is set, the code performs a Bartels cycle significance test on the detected cycles. This test determines the statistical significance of each cycle and filters out the insignificant cycles. The significant cycles are stored in the cycleBartelsBuffer array. If the SortBartels flag is set, the code sorts the significant cycles based on their Bartels significance values.
 Waveform calculation: 
The Goertzel Browser code calculates the waveform of the significant cycles for both past and future time windows. The past and future windows are defined by the WindowSizePast and WindowSizeFuture parameters, respectively. The algorithm uses either cosine or sine functions (controlled by the useCosine flag) to calculate the waveforms for each cycle. The useAddition flag determines whether the waveforms should be added or subtracted.
 Storing waveforms in matrices: 
The calculated waveforms for each cycle are stored in two matrices - goeWorkPast and goeWorkFuture. These matrices hold the waveforms for the past and future time windows, respectively. Each row in the matrices represents a time window position, and each column corresponds to a cycle.
 Returning the number of cycles: 
The Goertzel Browser function returns the total number of detected cycles (number_of_cycles) after processing the input data. This information can be used to further analyze the results or to visualize the detected cycles.
The Goertzel Browser code is a comprehensive implementation of the Goertzel Algorithm, specifically designed for detecting and analyzing dominant cycles within financial market data. The code offers a high level of customization, allowing users to fine-tune the algorithm based on their specific needs. The Goertzel Browser's combination of preprocessing, iterative calculations, cycle extraction, sorting, significance testing, and waveform calculation makes it a powerful tool for understanding cyclical components in financial data.
 █ Generating and Visualizing Composite Waveform 
The indicator calculates and visualizes the composite waveform for both past and future time windows based on the detected cycles. Here's a detailed explanation of this process:
 Updating WindowSizePast and WindowSizeFuture: 
The WindowSizePast and WindowSizeFuture are updated to ensure they are at least twice the MaxPer (maximum period).
 Initializing matrices and arrays: 
Two matrices, goeWorkPast and goeWorkFuture, are initialized to store the Goertzel results for past and future time windows. Multiple arrays are also initialized to store cycle, amplitude, phase, and Bartels information.
 Preparing the source data (srcVal) array: 
The source data is copied into an array, srcVal, and detrended using one of the selected methods (hpsmthdt, zlagsmthdt, logZlagRegression, hpsmth, or zlagsmth).
 Goertzel function call: 
The Goertzel function is called to analyze the detrended source data and extract cycle information. The output, number_of_cycles, contains the number of detected cycles.
 Initializing arrays for past and future waveforms: 
Three arrays, epgoertzel, goertzel, and goertzelFuture, are initialized to store the endpoint Goertzel, non-endpoint Goertzel, and future Goertzel projections, respectively.
 Calculating composite waveform for past bars (goertzel array): 
The past composite waveform is calculated by summing the selected cycles (either from the user-defined cycle list or the top cycles) and optionally subtracting the noise component.
 Calculating composite waveform for future bars (goertzelFuture array): 
The future composite waveform is calculated in a similar way as the past composite waveform.
 Drawing past composite waveform (pvlines): 
The past composite waveform is drawn on the chart using solid lines. The color of the lines is determined by the direction of the waveform (green for upward, red for downward).
 Drawing future composite waveform (fvlines): 
The future composite waveform is drawn on the chart using dotted lines. The color of the lines is determined by the direction of the waveform (fuchsia for upward, yellow for downward).
 Displaying cycle information in a table (table3): 
A table is created to display the cycle information, including the rank, period, Bartel value, amplitude (or cycle strength), and phase of each detected cycle.
 Filling the table with cycle information: 
The indicator iterates through the detected cycles and retrieves the relevant information (period, amplitude, phase, and Bartel value) from the corresponding arrays. It then fills the table with this information, displaying the values up to six decimal places.
To summarize, this indicator generates a composite waveform based on the detected cycles in the financial data. It calculates the composite waveforms for both past and future time windows and visualizes them on the chart using colored lines. Additionally, it displays detailed cycle information in a table, including the rank, period, Bartel value, amplitude (or cycle strength), and phase of each detected cycle.
 █ Enhancing the Goertzel Algorithm-Based Script for Financial Modeling and Trading 
The Goertzel algorithm-based script for detecting dominant cycles in financial data is a powerful tool for financial modeling and trading. It provides valuable insights into the past behavior of these cycles and potential future impact. However, as with any algorithm, there is always room for improvement. This section discusses potential enhancements to the existing script to make it even more robust and versatile for financial modeling, general trading, advanced trading, and high-frequency finance trading.
 Enhancements for Financial Modeling 
Data preprocessing: One way to improve the script's performance for financial modeling is to introduce more advanced data preprocessing techniques. This could include removing outliers, handling missing data, and normalizing the data to ensure consistent and accurate results.
Additional detrending and smoothing methods: Incorporating more sophisticated detrending and smoothing techniques, such as wavelet transform or empirical mode decomposition, can help improve the script's ability to accurately identify cycles and trends in the data.
Machine learning integration: Integrating machine learning techniques, such as artificial neural networks or support vector machines, can help enhance the script's predictive capabilities, leading to more accurate financial models.
 Enhancements for General and Advanced Trading 
Customizable indicator integration: Allowing users to integrate their own technical indicators can help improve the script's effectiveness for both general and advanced trading. By enabling the combination of the dominant cycle information with other technical analysis tools, traders can develop more comprehensive trading strategies.
Risk management and position sizing: Incorporating risk management and position sizing functionality into the script can help traders better manage their trades and control potential losses. This can be achieved by calculating the optimal position size based on the user's risk tolerance and account size.
Multi-timeframe analysis: Enhancing the script to perform multi-timeframe analysis can provide traders with a more holistic view of market trends and cycles. By identifying dominant cycles on different timeframes, traders can gain insights into the potential confluence of cycles and make better-informed trading decisions.
 Enhancements for High-Frequency Finance Trading 
Algorithm optimization: To ensure the script's suitability for high-frequency finance trading, optimizing the algorithm for faster execution is crucial. This can be achieved by employing efficient data structures and refining the calculation methods to minimize computational complexity.
Real-time data streaming: Integrating real-time data streaming capabilities into the script can help high-frequency traders react to market changes more quickly. By continuously updating the cycle information based on real-time market data, traders can adapt their strategies accordingly and capitalize on short-term market fluctuations.
Order execution and trade management: To fully leverage the script's capabilities for high-frequency trading, implementing functionality for automated order execution and trade management is essential. This can include features such as stop-loss and take-profit orders, trailing stops, and automated trade exit strategies.
While the existing Goertzel algorithm-based script is a valuable tool for detecting dominant cycles in financial data, there are several potential enhancements that can make it even more powerful for financial modeling, general trading, advanced trading, and high-frequency finance trading. By incorporating these improvements, the script can become a more versatile and effective tool for traders and financial analysts alike.
 █ Understanding the Limitations of the Goertzel Algorithm 
While the Goertzel algorithm-based script for detecting dominant cycles in financial data provides valuable insights, it is important to be aware of its limitations and drawbacks. Some of the key drawbacks of this indicator are:
 Lagging nature: 
As with many other technical indicators, the Goertzel algorithm-based script can suffer from lagging effects, meaning that it may not immediately react to real-time market changes. This lag can lead to late entries and exits, potentially resulting in reduced profitability or increased losses.
 Parameter sensitivity:  
The performance of the script can be sensitive to the chosen parameters, such as the detrending methods, smoothing techniques, and cycle detection settings. Improper parameter selection may lead to inaccurate cycle detection or increased false signals, which can negatively impact trading performance.
 Complexity:  
The Goertzel algorithm itself is relatively complex, making it difficult for novice traders or those unfamiliar with the concept of cycle analysis to fully understand and effectively utilize the script. This complexity can also make it challenging to optimize the script for specific trading styles or market conditions.
 Overfitting risk: 
As with any data-driven approach, there is a risk of overfitting when using the Goertzel algorithm-based script. Overfitting occurs when a model becomes too specific to the historical data it was trained on, leading to poor performance on new, unseen data. This can result in misleading signals and reduced trading performance.
No guarantee of future performance: While the script can provide insights into past cycles and potential future trends, it is important to remember that past performance does not guarantee future results. Market conditions can change, and relying solely on the script's predictions without considering other factors may lead to poor trading decisions.
Limited applicability: The Goertzel algorithm-based script may not be suitable for all markets, trading styles, or timeframes. Its effectiveness in detecting cycles may be limited in certain market conditions, such as during periods of extreme volatility or low liquidity.
While the Goertzel algorithm-based script offers valuable insights into dominant cycles in financial data, it is essential to consider its drawbacks and limitations when incorporating it into a trading strategy. Traders should always use the script in conjunction with other technical and fundamental analysis tools, as well as proper risk management, to make well-informed trading decisions.
 █ Interpreting Results 
The Goertzel Browser indicator can be interpreted by analyzing the plotted lines and the table presented alongside them. The indicator plots two lines: past and future composite waves. The past composite wave represents the composite wave of the past price data, and the future composite wave represents the projected composite wave for the next period.
The past composite wave line displays a solid line, with green indicating a bullish trend and red indicating a bearish trend. On the other hand, the future composite wave line is a dotted line with fuchsia indicating a bullish trend and yellow indicating a bearish trend.
The table presented alongside the indicator shows the top cycles with their corresponding rank, period, Bartels, amplitude or cycle strength, and phase. The amplitude is a measure of the strength of the cycle, while the phase is the position of the cycle within the data series.
Interpreting the Goertzel Browser indicator involves identifying the trend of the past and future composite wave lines and matching them with the corresponding bullish or bearish color. Additionally, traders can identify the top cycles with the highest amplitude or cycle strength and utilize them in conjunction with other technical indicators and fundamental analysis for trading decisions.
This indicator is considered a repainting indicator because the value of the indicator is calculated based on the past price data. As new price data becomes available, the indicator's value is recalculated, potentially causing the indicator's past values to change. This can create a false impression of the indicator's performance, as it may appear to have provided a profitable trading signal in the past when, in fact, that signal did not exist at the time.
The Goertzel indicator is also non-endpointed, meaning that it is not calculated up to the current bar or candle. Instead, it uses a fixed amount of historical data to calculate its values, which can make it difficult to use for real-time trading decisions. For example, if the indicator uses 100 bars of historical data to make its calculations, it cannot provide a signal until the current bar has closed and become part of the historical data. This can result in missed trading opportunities or delayed signals.
 █ Conclusion 
The Goertzel Browser indicator is a powerful tool for identifying and analyzing cyclical patterns in financial markets. Its ability to detect multiple cycles of varying frequencies and strengths make it a valuable addition to any trader's technical analysis toolkit. However, it is important to keep in mind that the Goertzel Browser indicator should be used in conjunction with other technical analysis tools and fundamental analysis to achieve the best results. With continued refinement and development, the Goertzel Browser indicator has the potential to become a highly effective tool for financial modeling, general trading, advanced trading, and high-frequency finance trading. Its accuracy and versatility make it a promising candidate for further research and development.
 █  Footnotes  
 What is the Bartels Test for Cycle Significance? 
The Bartels Cycle Significance Test is a statistical method that determines whether the peaks and troughs of a time series are statistically significant. The test is named after its inventor, George Bartels, who developed it in the mid-20th century.
The Bartels test is designed to analyze the cyclical components of a time series, which can help traders and analysts identify trends and cycles in financial markets. The test calculates a Bartels statistic, which measures the degree of non-randomness or autocorrelation in the time series.
The Bartels statistic is calculated by first splitting the time series into two halves and calculating the range of the peaks and troughs in each half. The test then compares these ranges using a t-test, which measures the significance of the difference between the two ranges.
If the Bartels statistic is greater than a critical value, it indicates that the peaks and troughs in the time series are non-random and that there is a significant cyclical component to the data. Conversely, if the Bartels statistic is less than the critical value, it suggests that the peaks and troughs are random and that there is no significant cyclical component.
The Bartels Cycle Significance Test is particularly useful in financial analysis because it can help traders and analysts identify significant cycles in asset prices, which can in turn inform investment decisions. However, it is important to note that the test is not perfect and can produce false signals in certain situations, particularly in noisy or volatile markets. Therefore, it is always recommended to use the test in conjunction with other technical and fundamental indicators to confirm trends and cycles.
 Deep-dive into the Hodrick-Prescott Fitler 
The Hodrick-Prescott (HP) filter is a statistical tool used in economics and finance to separate a time series into two components: a trend component and a cyclical component. It is a powerful tool for identifying long-term trends in economic and financial data and is widely used by economists, central banks, and financial institutions around the world.
The HP filter was first introduced in the 1990s by economists Robert Hodrick and Edward Prescott. It is a simple, two-parameter filter that separates a time series into a trend component and a cyclical component. The trend component represents the long-term behavior of the data, while the cyclical component captures the shorter-term fluctuations around the trend.
The HP filter works by minimizing the following objective function:
Minimize: (Sum of Squared Deviations) + λ (Sum of Squared Second Differences)
Where:
The first term represents the deviation of the data from the trend.
The second term represents the smoothness of the trend.
λ is a smoothing parameter that determines the degree of smoothness of the trend.
The smoothing parameter λ is typically set to a value between 100 and 1600, depending on the frequency of the data. Higher values of λ lead to a smoother trend, while lower values lead to a more volatile trend.
The HP filter has several advantages over other smoothing techniques. It is a non-parametric method, meaning that it does not make any assumptions about the underlying distribution of the data. It also allows for easy comparison of trends across different time series and can be used with data of any frequency.
However, the HP filter also has some limitations. It assumes that the trend is a smooth function, which may not be the case in some situations. It can also be sensitive to changes in the smoothing parameter λ, which may result in different trends for the same data. Additionally, the filter may produce unrealistic trends for very short time series.
Despite these limitations, the HP filter remains a valuable tool for analyzing economic and financial data. It is widely used by central banks and financial institutions to monitor long-term trends in the economy, and it can be used to identify turning points in the business cycle. The filter can also be used to analyze asset prices, exchange rates, and other financial variables.
The Hodrick-Prescott filter is a powerful tool for analyzing economic and financial data. It separates a time series into a trend component and a cyclical component, allowing for easy identification of long-term trends and turning points in the business cycle. While it has some limitations, it remains a valuable tool for economists, central banks, and financial institutions around the world.
Cari dalam skrip untuk "stop loss"
SPY 4 Hour Swing TraderThe purpose of this script is to spot 4 hour pivots that indicate ~30 trading day swings. As VIX starts to drop options trading will get more boring and as we get back on the bull and can benefit from swing trading strategy. Swing trading doesn't make a whole lot of sense when VIX is above 28. Seems to get best results on 4 hour chart for this one. This indicator spots a go long opportunity when the 5 ema crosses the 13 ema on the 4 hour along with the RSI > 50 and the ADX > 20 and Stoichastic values (smoothed line < 80 or line < 90) and close > last candle close and the True Range < 6. It also spots uses a couple different means to determine when to exit the trade. Sell condition is primarily when the 13 ema crosses the 5 ema and the MACD line crosses below the signal line and the smoothed Stoichastic appears oversold (greater than 60) and slop of RSI < -.2. Stop Losses and Take Profits are configurable in Inputs along with ability to include short trades plus other MACD and Stoichastic settings. If a stop loss is encountered the trade will close. Also once twice the expected move is encountered partial profits will taken and stop losses and take profits will be re-established based on most recent close. Also a VIX above 28 will trigger any open positions to close. If trying to use this for something other than SPXL it is best to update stop losses and take profit percentages and check backtest results to ensure proper levels have been selected and the script gives satisfactory results.
SPY 1 Hour Swing TraderThe purpose of this script is to spot 1 hour pivots that indicate ~5 to 6 trading day swings. Results indicate that swings are held approximately 5 to 6 trading days on average, over the last 6 years. This indicator spots a go long opportunity when the 5 ema crosses the 13 ema on the 1 hour along with the RSI > 50. It also spots uses a couple different means to determine when to exit the trade. Sell condition is primarily when the 13 ema crosses the 5 ema and the MACD line crosses below the signal line and the smoothed Stoichastic appears oversold (greater than 60). Stop Losses and Take Profits are configurable in Inputs along with ability to include short trades plus other MACD and Stoichastic settings. If a stop loss is encountered the trade will close. Also once twice the expected move is encountered partial profits will taken and stop losses and take profits will be re-established based on most recent close. Once long trades are exited, short trades will be initiated if recent conditions appeared oversold and input option for short trading is enabled. If trying to use this for something other than SPXL it is best to update stop losses and take profit percentages and check backtest results to ensure proper levels have been selected and the script gives satisfactory results.
Ultimate Strategy Template (Advanced Edition)Hello traders
This script is an upgraded version of that one below
  
 New features 
- Upgraded to Pinescript version 5
- Added the exit SL/TP now in real-time 
- Added text fields for the alerts - easier to send the commands to your trading bots
 Step 1: Create your connector 
Adapt your indicator with only 2 lines of code and then connect it to this strategy template.
For doing so:
1) Find in your indicator where are the conditions printing the long/buy and short/sell signals.
2) Create an additional plot as below
I'm giving an example with a Two moving averages cross.
Please replicate the same methodology for your indicator wether it's a MACD , ZigZag , Pivots , higher-highs, lower-lows or whatever indicator with clear buy and sell conditions.
 
//@version=5
indicator(title='Moving Average Cross', shorttitle='Moving Average Cross', overlay=true, precision=6, max_labels_count=500, max_lines_count=500)
type_ma1 = input.string(title='MA1 type', defval='SMA', options= )
length_ma1 = input(10, title='  MA1 length')
type_ma2 = input.string(title='MA2 type', defval='SMA', options= )
length_ma2 = input(100, title='  MA2 length')
// MA
f_ma(smoothing, src, length) =>
    rma_1 = ta.rma(src, length)
    sma_1 = ta.sma(src, length)
    ema_1 = ta.ema(src, length)
    iff_1 = smoothing == 'EMA' ? ema_1 : src
    iff_2 = smoothing == 'SMA' ? sma_1 : iff_1
    smoothing == 'RMA' ? rma_1 : iff_2
MA1 = f_ma(type_ma1, close, length_ma1)
MA2 = f_ma(type_ma2, close, length_ma2)
// buy and sell conditions
buy = ta.crossover(MA1, MA2)
sell = ta.crossunder(MA1, MA2)
plot(MA1, color=color.new(color.green, 0), title='Plot MA1', linewidth=3)
plot(MA2, color=color.new(color.red, 0), title='Plot MA2', linewidth=3)
plotshape(buy, title='LONG SIGNAL', style=shape.circle, location=location.belowbar, color=color.new(color.green, 0), size=size.normal)
plotshape(sell, title='SHORT SIGNAL', style=shape.circle, location=location.abovebar, color=color.new(color.red, 0), size=size.normal)
/////////////////////////// SIGNAL FOR STRATEGY /////////////////////////
Signal = buy ? 1 : sell ? -1 : 0
plot(Signal, title='🔌Connector🔌', display = display.data_window)
 
Basically, I identified my buy, sell conditions in the code and added this at the bottom of my indicator code
 
Signal = buy ? 1 : sell ? -1 : 0
plot(Signal, title="🔌Connector🔌", transp=100)
 
 Important Notes 
🔥 The Strategy Template expects the value to be exactly 1 for the bullish signal, and -1 for the bearish signal
Now you can connect your indicator to the Strategy Template using the method below or that  one 
 Step 2: Connect the connector 
1) Add your updated indicator to a TradingView chart
2) Add the Strategy Template as well to the SAME chart
3) Open the Strategy Template settings and in the Data Source field select your 🔌Connector🔌 (which comes from your indicator)
From then, you should start seeing the signals and plenty of other stuff on your chart
🔥 Note that whenever you'll update your indicator values, the strategy statistics and visual on your chart will update in real-time
 Settings 
- Color Candles: Color the candles based on the trade state ( bullish , bearish , neutral)
- Close positions at market at the end of each session: useful for everything but cryptocurrencies
- Session time ranges: Take the signals from a starting time to an ending time
- Close Direction: Choose to close only the longs, shorts, or both
- Date Filter: Take the signals from a starting date to an ending date
- Set the maximum losing streak length with an input
- Set the maximum winning streak length with an input
- Set the maximum consecutive days with a loss
- Set the maximum drawdown (in % of strategy equity)
- Set the maximum intraday loss in percentage
- Limit the number of trades per day
- Limit the number of trades per week
- Stop-loss: None or Percentage or Trailing Stop Percentage or ATR - I'll add shortly multiple options for the trailing stop loss
- Take-Profit: None or Percentage or ATR - I'll add also a trailing take profit
- Risk-Reward based on ATR multiple for the Stop-Loss and Take-Profit
 Special Thanks 
Special thanks to @JosKodify as I borrowed a few risk management snippets from his website: kodify.net
Best
Dave
BB Signal v2.1 [ABA Invest]About
This signal appears based on 2nd candle break out of Bollinger Bands (called Momentum) with additional EMA 50 and EMA 200 as trend filters. so the concept is to take advantage of candle breakout by following trends.
How to use
Buy: When signal 'Buy' appears (following trend of upper timeframe)
Recommended stop loss: previous swing low
Sell: When signal 'Sell' appears (following trend of upper timeframe)
Recommended stop loss: previous swing high
Rules
1. use a good risk-reward ratio (minimum 1.5)
2. Please do backtest before using this signal
3. Don't always take every signal (must know when to stop)
Risk Management Strategy TemplateThis strategy is intended to be used as a base template for building new strategies.
It incorporates the following features:
 Risk management: 
 
 Configurable X% loss per stop loss
 Configurable R:R ratio
 
 Trade entry: 
 
 Calculated position size based on risk tolerance
 
 Trade exit: 
 
 Stop Loss currently configurable ATR multiplier but can be replaced based on strategy
 Take Profit calculated from Stop Loss using R:R ratio
 
 Backtesting: 
 
 Configurable backtesting range by date
 
 Trade drawings: 
 
 TP/SL boxes drawn for all trades. Can be turned on and off
 Trade exit information labels. Can be turned on and off
 NOTE: Trade drawings will only be applicable when using overlay strategies
 
 Debugging: 
 
 Includes section with useful debugging techniques
 
 Strategy conditions 
 Trade entry: 
LONG
 
 C1: Price is above EMA line
 C2: RSI is crossing out of oversold area
 
SHORT
 
 C1: Price is below EMA line
 C2: RSI is crossing out of overbought area
 
 Trade exit: 
 
 Stop Loss: Stop Loss ATR multiplier is hit
 Take Profit: R:R multiplier * Stop Loss is hit
 
The idea is to use RSI to catch pullbacks within the main trend. 
Note that this strategy is intended to be a simple base strategy for building upon. It was not designed to be traded in its current form.
Indicators Combination Framework v3 IND  [DTU]Hello All,
This script is a framework to analyze and see the results by combine selected indicators for (long, short, longexit, shortexit) conditions. 
I was designed this for beginners and users to facilitate to see effects of the technical indicators combinations on the chart  WITH NO CODE 
You can improve your strategies according the results of this system by connecting the framework to a strategy framework/template such as Pinecoder, Benson, daveatt or custom.
This is enhanced version of my previous indicator "Indicators & Conditions Test Framework  "
Currently there are 93 indicators (23 newly added) connected over library. You can also import an External Indicator or add Custom indicator (In the source)
It is possible to change it from Indicator to strategy (simple one) by just remarking strategy parts in the source code and see real time profit of your combinations
Feel free to change or use it in your source
Special thanks goes to Pine wizards:  Trading view (built-in Indicators),  @Rodrigo, @midtownsk8rguy, @Lazybear, @Daveatt and others for their open source codes and contributions
 SIMPLE USAGE 
1. SETTING: Show Alerts= True (To see your entries and Exists)
2. Define your Indicators (ex: INDICATOR1: ema(close,14), INDICATOR2: ema(close,21), INDICATOR3: ema(close,200)
3. Define Your Combinations for long & Short Conditions
	a. For Long: (INDICATOR1 crossover INDICATOR2) AND (INDICATOR3 < close)
	b. For Short: (INDICATOR1 crossunder INDICATOR2) AND (INDICATOR3 > close)
4. Select Strategy/template (Import strategy to chart) that you export your signals from the list
5. Analyze the best profit by changing Indicators values
 SOME INDICATORS DETAILS 
Each Indicator includes: 
-  Factorization : Converting the selected indicator to Double, triple Quadruple such as EMA to DEMA, TEMA QEMA
-  Log : Simple or log10 can be used for calculation on function entries
-  Plot Type : You can overlay the indicator on the chart (such ema) or you can use stochastic/Percentrank approach to display in the variable hlines range
-  Extended Parametes : You can use default parameters or you can use extended (P1,P2) parameters regarding to indicator type and your choice
-  Color : You can define indicator color and line properties
-  Smooth : you can enable swma smooth 
-  indicators : you can select one of the 93 function like ema(),rsi().. to define your indicator 
-  Source : you can select from already defined indicators (IND1-4), External Indicator (EXT), Custom Indicator (CUST), and other sources (close, open...) 
 CONDITION DETAILS 
- There are are 4 type of conditions, long entry, short entry, long exit, short exit.
- Each condition are built up from 4 combinations that joined with "AND" & "OR" operators
- You can see the results by enabling show alerts check box
- If you only wants to enter long entry and long exit, just fill these conditions
- If "close on opposite" checkbox selected on settings, long entry will be closed on short entry and vice versa
 COMBINATIONS DETAILS 
- There are 4 combinations that joined with "AND" & "OR" operators for each condition
- combinations are built up from compare 1st entry with 2nd one by using operator
- 1st and 2nd entries includes already defined indicators (IND1-5), External Indicator (EXT), Custom Indicator (CUST), and other sources (close, open...) 
- Operators are comparison values such as >,<, crossover,...
- 2nd entry include "VALUE" parameter that will use to compare 1st indicator with value area
- If 2nd indicator selected different than "VALUE",  value are will mean previous value of the selection. (ex: value area= 2, 2nd entry=close, means close )
- Selecting "NONE" for the 1st entry will disable  calculation of current and following combinations
 JOINS DETAILS 
- Each combination will join wiht the following one with the JOIN (AND, OR) operator (if the following one is not equal "NONE")
 CUSTOM INDICATOR 
- Custom Indicator defines harcoded in the source code.
- You can call it with "CUST" in the Indicator definition source or combination entries source 
- You can change or implement your custom indicator by updating the source code
 EXTERNAL INDICATOR 
- You can import an external indicator by selecting it from the ext source.
- External Indicator should be already imported to the chart and it have an plot function to output its signal
 EXPORTING SIGNAL 
- You can export your result to an already defined strategy template such as Pine coders, Benson, Daveatt Strategy templates 
- Or you can define your custom export for other future strategy templates
 ALERTS 
- By enabling show alerts checkbox, you can see long entry exits on the bottom, and short entry exits aon the top of the chart
 ADDITIONAL INFO 
- You can see all off the inputs descriptions in the tooltips. (You can also see the previous version for details)
- Availability to set start, end dates
- Minimize repainting by using security function options (Secure, Semi Secure, Repaint) 
- Availability of use timeframes
- 
Version 3 INDICATORS LIST (More to be added):
▼▼▼ OVERLAY INDICATORS ▼▼▼
alma(src,len,offset=0.85,sigma=6).-------Arnaud Legoux Moving Average 
ama(src,len,fast=14,slow=100).-----------Adjusted Moving Average
accdist().-------------------------------Accumulation/distribution index. 
cma(src,len).----------------------------Corrective Moving average    
dema(src,len).---------------------------Double EMA  (Same as EMA with 2 factor)
ema(src,len).----------------------------Exponential Moving Average 
gmma(src,len).---------------------------Geometric Mean Moving Average
highest(src,len).------------------------Highest value for a given number of bars back.   
hl2ma(src,len).--------------------------higest lowest moving average
hma(src,len).----------------------------Hull Moving Average.
lagAdapt(src,len,perclen=5,fperc=50).----Ehlers Adaptive Laguerre filter
lagAdaptV(src,len,perclen=5,fperc=50).---Ehlers Adaptive Laguerre filter variation
laguerre(src,len).-----------------------Ehlers Laguerre filter
lesrcp(src,len).-------------------------lowest exponential esrcpanding moving line
lexp(src,len).---------------------------lowest exponential expanding moving line 
linreg(src,len,loffset=1).---------------Linear regression
lowest(src,len).-------------------------Lovest value for a given number of bars back.
mcginley(src, len.-----------------------McGinley Dynamic adjusts for market speed shifts, which sets it apart from other moving averages, in addition to providing clear moving average lines
percntl(src,len).------------------------percentile nearest rank. Calculates percentile using method of Nearest Rank.
percntli(src,len).-----------------------percentile linear interpolation. Calculates percentile using method of linear interpolation between the two nearest ranks.
previous(src,len).-----------------------Previous n (len) value of the source   
pivothigh(src,BarsLeft=len,BarsRight=2).-Previous pivot high. src=src, BarsLeft=len, BarsRight=p1=2
pivotlow(src,BarsLeft=len,BarsRight=2).--Previous pivot low. src=src, BarsLeft=len, BarsRight=p1=2
rema(src,len).---------------------------Range EMA (REMA)   
rma(src,len).----------------------------Moving average used in RSI. It is the exponentially weighted moving average with alpha = 1 / length.
sar(start=len, inc=0.02, max=0.02).------Parabolic SAR (parabolic stop and reverse) is a method to find potential reversals in the market price direction of traded goods.start=len, inc=p1, max=p2. ex: sar(0.02, 0.02, 0.02)    
sma(src,len).----------------------------Smoothed Moving Average
smma(src,len).---------------------------Smoothed Moving Average
super2(src,len).-------------------------Ehlers super smoother, 2 pole 
super3(src,len).-------------------------Ehlers super smoother, 3 pole
supertrend(src,len,period=3).------------Supertrend indicator
swma(src,len).---------------------------Sine-Weighted Moving Average
tema(src,len).---------------------------Triple EMA  (Same as EMA with 3 factor)
tma(src,len).----------------------------Triangular Moving Average
vida(src,len).---------------------------Variable Index Dynamic Average   
vwma(src,len).---------------------------Volume Weigted Moving Average
volstop(src,len,atrfactor=2).------------Volatility Stop is a technical indicator that is used by traders to help place effective stop-losses. atrfactor=p1
wma(src,len).----------------------------Weigted Moving Average 
vwap(src_).------------------------------Volume Weighted Average Price (VWAP) is  used to measure the average price weighted by volume     
▼▼▼ NON OVERLAY INDICATORS ▼▼
adx(dilen=len, adxlen=14, adxtype=0).----adx. The Average Directional Index (ADX) is a used to determine the strength of a trend. len=>dilen, p1=adxlen (default=14), p2=adxtype 0:ADX, 1:+DI, 2:-DI (def:0)
angle(src,len).--------------------------angle of the series   (Use its Input as another indicator output)
aroon(len,dir=0).------------------------aroon indicator. Aroons major function is to identify new trends as they happen.p1 = dir: 0=mid (default), 1=upper, 2=lower
atr(src,len).----------------------------average true range. RMA of true range.                
awesome(fast=len=5,slow=34,type=0).------Awesome Oscilator is an indicator used to measure market momentum. defaults : fast=len= 5, p1=slow=34, p2=type: 0=Awesome, 1=difference
bbr(src,len,mult=1).---------------------bollinger %%
bbw(src,len,mult=2).---------------------Bollinger Bands Width. The Bollinger Band Width is the difference between the upper and the lower Bollinger Bands divided by the middle band.
cci(src,len).----------------------------commodity channel index
cctbbo(src,len).-------------------------CCT Bollinger Band Oscilator
change(src,len).-------------------------A.K.A. Momentum. Difference between current value and previous, source - source . is most commonly referred to as a rate and measures the acceleration of the price and/or volume of a security
cmf(len=20).-----------------------------Chaikin Money Flow Indicator used to measure Money Flow Volume over a set period of time. Default use is len=20
cmo(src,len).----------------------------Chande Momentum Oscillator. Calculates the difference between the sum of recent gains and the sum of recent losses and then divides the result by the sum of all price movement over the same period.
cog(src,len).----------------------------The cog (center of gravity) is an indicator based on statistics and the Fibonacci golden ratio.
copcurve(src,len).-----------------------Coppock Curve.  was originally developed by Edwin Sedge Coppock (Barrons Magazine, October 1962).
correl(src,len).-------------------------Correlation coefficient. Describes the degree to which two series tend to deviate from their ta.sma values.
count(src,len).--------------------------green avg - red avg
cti(src,len).----------------------------Ehler s Correlation Trend Indicator by 
dev(src,len).----------------------------ta.dev()  Measure of difference between the series and its ta.sma
dpo(len).--------------------------------Detrended Price OScilator is used to remove trend from price.   
efi(len).--------------------------------Elders Force Index (EFI) measures the power behind a price movement using price and volume.
eom(len=14,div=10000).-------------------Ease of Movement.It is designed to measure the relationship between price and volume.p1 = div: 10000= (default)
falling(src,len).------------------------ta.falling() Test if the `source` series is now falling for `length` bars long. (Use its Input as another indicator output)
fisher(len).-----------------------------Fisher Transform is a technical indicator that converts price to Gaussian normal distribution and signals when prices move significantly by referencing recent price data
histvol(len).----------------------------Historical volatility is a statistical measure used to analyze the general dispersion of security or market index returns for a specified period of time.
kcr(src,len,mult=2).---------------------Keltner Channels Range  
kcw(src,len,mult=2).---------------------ta.kcw(). Keltner Channels Width. The Keltner Channels Width is the difference between the upper and the lower Keltner Channels divided by the middle channel.
klinger(type=len).-----------------------Klinger oscillator aims to identify money flow’s long-term trend. type=len: 0:Oscilator 1:signal
macd(src,len).---------------------------MACD (Moving Average Convergence/Divergence)
mfi(src,len).----------------------------Money Flow Index s a tool used for measuring buying and selling pressure
msi(len=10).-----------------------------Mass Index (def=10) is used to examine the differences between high and low stock prices over a specific period of time
nvi().-----------------------------------Negative Volume Index
obv().-----------------------------------On Balance Volume
pvi().-----------------------------------Positive Volume Index 
pvt().-----------------------------------Price Volume Trend
ranges(src,upper=len, lower=-5).---------ranges of the source. src=src, upper=len, v1:lower=upper .  returns: -1 source=upper otherwise 0
rising(src,len).-------------------------ta.rising() Test if the `source` series is now rising for `length` bars long. (Use its Input as another indicator output)
roc(src,len).----------------------------Rate of Change
rsi(src,len).----------------------------Relative strength Index
rvi(src,len).----------------------------The Relative Volatility Index (RVI) is calculated much like the RSI, although it uses high and low price standard deviation instead of the RSI’s method of absolute change in price.
smi_osc(src,len,fast=5, slow=34).--------smi Oscillator
smi_sig(src,len,fast=5, slow=34).--------smi Signal
stc(src,len,fast=23,slow=50).------------Schaff Trend Cycle (STC) detects up and down trends long before the MACD. Code imported from 
stdev(src,len).--------------------------Standart deviation
trix(src,len) .--------------------------the rate of change of a triple exponentially smoothed moving average.
tsi(src,len).----------------------------The True Strength Index indicator is a momentum oscillator designed to detect, confirm or visualize the strength of a trend.
ultimateOsc(len.-------------------------Ultimate Oscillator indicator (UO) indicator is a technical analysis tool used to measure momentum across three varying timeframes
variance(src,len).-----------------------ta.variance(). Variance is the expectation of the squared deviation of a series from its mean (ta.sma), and it informally measures how far a set of numbers are spread out from their mean.
willprc(src,len).------------------------Williams %R
wad().-----------------------------------Williams Accumulation/Distribution.
wvad().----------------------------------Williams Variable Accumulation/Distribution.
 HISTORY 
v3.01
ADD:  23 new indicators added to indicators list from the library. Current Total number of Indicators are 93. (to be continued to adding)
ADD:  2 more Parameters (P1,P2) for indicator calculation added. Par:(Use Defaults) uses only indicator(Source, Length) with library's default parameters. Par:(Use Extra Parameters P1,P2) use indicator(Source,Length,p1,p2) with additional parameters if indicator needs.
ADD:  log calculation (simple, log10) option added on indicator function entries  
ADD:  New Output Signals added for compatibility on exporting condition signals to different Strategy templates.
ADD:  Alerts Added according to conditions results
UPD:  Indicator source inputs now display with indicators descriptions 
UPD:  Most off the source code rearranged and some functions moved to the new library. Now system work like a little bit frontend/backend
UPD:  Performance improvement made on factorization and other source code
UPD:  Input GUI rearranged
UPD:  Tooltips corrected
REM:  Extended indicators removed 
UPD:  IND1-IND4 added to indicator data source. Now it is possible to create new indicators with the previously defined indicators value. ex: IND1=ema(close,14) and IND2=rsi(IND1,20) means IND2=rsi(ema(close,14),20) 
UPD:  Custom Indicator (CUST) added to indicator data source and Combination Indicator source. 
UPD:  Volume added to indicator data source and Combination Indicator source. 
REM:  Custom indicators removed and only one custom indicator left
REM:  Plot Type "Org. Range (-1,1)" removed
UPD:  angle, rising, falling type operators moved to indicator library
stop out or margin call price levelsAbstract
This script finds the potential stop out or margin call price levels without considering timeframe.
This script computes stop out or margin call price levels that over leveraged positions buy cheap enough.
You can use this indicator to follow stop hunters.
Introduction
Stop hunting exists because of benefit conflict.
When most of retails traders are in the correct direction, big banks do not want to buy more expensive then retail traders.
Therefore, Big banks create sell pressure to make retail traders misunderstand their trade decisions are wrong.
When retail traders decide to cut loss, it is time big banks buy cheaper.
Many courses recommend average true range as a stop loss reference.
However, in different timeframe, average true ranges are different.
Therefore, we need to have a method to measure potential stop hunting levels which is not relative to timeframe.
There is a method because there are observable levels where over leveraged positions must cut loss.
For example, for a 100 leverage position, its margin call level is 0.005, so 0.005 drawdown is a potential stop hunting level.
Computing
For buy
potential stop out or margin call price level = low * ( 1 - ratio )
For sell
potential stop out or margin call price level = high * ( 1 + ratio )
Parameters
There are 4 levels available for adjusting.
The default values are :
(1) 0.001 : 500 leverage , 50% margin call
(2) 0.0025 : 200 leverage , 50% margin call
(3) 0.005 : 100 leverage , 50% margin call
(4) 0.010 : 50 leverage , 50% margin call
Usage
(1) Find an oversold price level. If you don't want to use an another indicator, you can use previous low.
(2) Memorize their stop out or margin call price levels of that level.
(2) Consider buy near those levels.
(3) If there are quick price rejection near those levels, better entry opportunities.
(4) Take profit and stop loss : you decide.
Conclusion
This script can find potential stop out or margin call price levels that over leveraged positions buy cheap enough.
If you are bored, you can consider find 100 signals you are interested in and share your observation.
Reference
Brokers, leverage and margin call threshold
Bear & Bull Zone Signal StrategySince I love to mix and match, here is something fresh and that actually works on the breakout of Ethereum without losing your ass on lagging indicators. 
It blends some of the nice parts of my previous scripts while moving to big boy pants with a twist on the Fibonacci retracement using SMA and EMA at multiple levels to do a sanity check. 
Is it too good to be true? Nope, just what happens when a Solution Architect starts messing around with crypto and applies engineering and mathematics to the mix. You get a strategy that really doesn't have high profit losses when you tweak it just the right way. 
What's the right tweak you ask? 
1. Start with a 30 minute timeframe and set your window start date to the date the market began the bear or bull run
2. Make sure you can see your strategy performance window (not the graph one)
3. Set Stop Loss and Target Profit to 50%
4. Use your mouse wheel or up and down arrows and mess around with the RSI, go down one at a time but no lower than 7. Whichever value displayed the highest long or short gain is the one to pick. 
5. Now select long or short only based on whichever one shows the highest gain. 
6. Now go to K and D, leave K as 3 and check what happens when D is 4 or 5. Leave D at the value that gives you the highest gain. 
7. Now go to EMA Fast and Slow Lengths. Leave Fast at 5 and check what happens when the Slow is moved up to 11 or 12, do the gains go up. If not, check what happens when Slow is moved down to 9, 8, or 7. Whichever gives you the highest gain, leave it there. Now go mess with the fast length, keep in mind that fast must always be less than slow. So check values down to 3 and up to 6. Same concept, mo money...leave it be. 
8. Now go mess with the Target Profit, I start at 5, hit enter, then go to 7, hit enter, then 9...up by 2 until I get to 21 to make sure I don't hastily pick a low one and always keep in mind between which values the gain switched from high to low. For example, in this example I published at 11 it was $5k and at 13 it was $3700 for the gains. So after I got up to 21 I went back to 11 and started going up by 0.01 steps until the value dropped, which was at 11.19 so I set it at 11.18. 
9. Now stop loss is trickier, you've maximized the gains, which means if you set the stop loss at a low value you will sacrifice gains. Typically by this point your loss is less than 10% with this script. So, my approach is to find the value where the stop loss doesn't change what I've tweaked already. In this example, I did the same start at 5 and go up by 2 and saw that when I went to 17 it stopped changing. So I started going back down by 0.5 and saw at 15.5 the gains went lower again. Now I started going back up in steps of 0.01 and at 15.98 it went back to the high gain I already tweaked for. I kept stop loss there and unleashed the strategy on ETH. 
So far so good, no bad trades and it's been behaving pretty well. 
Scalping Dips On Trend (by Coinrule)Coinrule's Community is an excellent source of inspiration for our trading strategies.  
In these months of Bull Market, our traders opted mostly on buy-the-dips strategies, which resulted in great returns recently. But there has been an element that turned out to be the cause for deep division among the Community.
 Is it advisable or not to use a stop-loss during a Bull Market? 
This strategy comes with a large stop-loss to offer a safer alternative for those that are not used to trade with a downside protection.
 Entry 
The strategy buys only when the  price is above the Moving Average 50 , making it  less risky  to buy the dip, which is set to 2%. 
The preferred time frame is 1-hour.
The stop-loss is set to be quite loose to increase the chances of closing the trade in profit, yet protecting from unexpected larger drawdowns that could undermine the allocation's liquidity.
 Exit 
Stop loss: 10%
Take Profit: 3%
In times of Bull Market, such a trading system has a very high percentage of trades closed in profit (ranging between 70% to 80%), which makes it still overall profitable to have a stop-loss three times larger than the take profit. 
 Pro tip: use a larger stop-loss only when you expect to close in profit most of the trades! 
The strategy assumes each order to trade 30% of the available capital and opens a trade at a time. A trading fee of 0.1% is taken into account.
Follow the Trend - Trade PullbacksKindly follow the rules stated below for entry, exit and stop loss. Not every Buy / Sell signal will be profitable.
Timeframe of the chart acts as current timeframe. You need to choose 2 more as middle and higher timeframes.
This indicator is based on candlesticks, ATR and CCI indicators and the logic provides buy / sell signals at the pullbacks of the trend depicted by higher timeframe, that must be respected throughout.
Enter the long / short trade respectively when the indicator gives buy / sell signal after price has gone below the green / above the red line for higher timeframe.
Stop loss shall be low / high of recent swing. Exit when the price closes below / above the middle timeframe, to be used as trailing target.
 Use it for any instrument for any timeframe of your choice. 
For example, check the shared chart. It is a 1 min intraday, but the indicator can be used for short or long term positional trades as well.
Enter long at 14102, with stop loss 14077. Trailing target is achieved at 14156 giving a Risk:Reward ratio of 1:2.
Another Buy signal is observed around same level and uptrend continues till day end, again for a Risk:Reward ratio of approx. 1:2.
Rules to follow for Long trades -
Enter long position at Buy signal given after price has moved below green line of higher timeframe.
Exit the position when price closes below orange / blue line of middle timeframe.
Stop loss must be at low of recent swing, appearing just before the Buy signal.
Rules to follow for Short trades -
Enter short position at Sell signal given after price has moved above red line of higher timeframe.
Exit the position when price closes above orange / blue line of middle timeframe.
Stop loss must be at high of recent swing, appearing just before the Sell signal.
mForex - 3 Moving Average - Parabolic SARScript identifies the uptrend and downtrend according to the average price of the MA and PSAR lines.
Rules of sale:
- Open short positions when:
 
  MA12 cuts MA26 and MA52 from the top.
  PSAR dots on the price line
 
- Stop loss:
 
  At the dots of PSAR and use Trailing Stop facing up
  On the nearest peak
 
- Profit-taking: Corresponding ratio of R: R (1: 2)
- Open long positions when:
 
  MA12 cuts MA26 and MA52 from the bottom.
  PSAR dots below the price line
 
- Stop loss:
 
  At the dots of PSAR and use Trailing Stop facing down
  Below the nearest peak
 
- Profit-taking: Corresponding ratio of R: R (1: 2)
Customizable MACD (how to detect a strong convergence)Helloooo traders
I wondered once if a MACD was based on an EMA/EMA/SMA or SMA/SMA/EMA (or WHATEVA/WHATEVA/WHATEVA). 
Seems they're so many alternatives out there.
I decided to empower my audience more by choosing the type of moving averages you want for your MACD. 
More options doesn't always mean better performance - but who knows - some might find a config that they like with it for their favorite asset/timeframe.
I added also a multi-timeframe component because I'm a nice guy ^^
 Convergence is my BEST friend 
An oscillator (like MACD) is to measure how strong a momentum is - generally, traders use those indicators to confirm a trend.
So understand that a MACD (or any other indicator  not based on convergence ) won't likely be sufficient for doing great on the market.
Combined with your favorite indicator, however, you may get great results.
 My indicators fav cocktail is mixing : 
1) an oscillator (momentum confirmation)
2) a trendline/key level break (momentum confirmation)
3) adding-up on a different trading method but still converging with the first entry.
The reason I'm deep with convergence detection is because I'm obsessed with removing those fakeout signals. You know which ones I'm talking about :)
Those trades when the market goes sideways but our capital goes South (pun 100% intended) - 2 days later, the price hasn't changed much but some lost some capital due to fees, being overexposed, buying the top/selling the bottom of a range they didn't identify.
It's publicly known that ranges are the worst traders' enemy.  It's boring, not fun, and .... end up moving in the direction we expected when we go to sleep or outside.  
NO ONE/BROKER/EX-GF is tracking your computer - I checked also for mine as it happened for me way too often in the past.
I surely preferred blaming a few external unknown conditions than improving my TA back in the days #bad #dave
 But my backtest sir... 
 Our backtests show what they're being told to show . A backtest without a stop-loss/hard exit logic will show incredible results.
Then trying that backtest with live trading is like in the  Matrix  movie - discovering the real world is tough and  we must choose between the blue pill (learning how to evaluate properly risk/opportunity caught) and the red pill (increasing the position sizing, not setting a stop loss, holding the positions hoping for the best) 
 Last few words 
Convergences aren't invented because it's cool to mix indicators with others. (it is actually and even fun)
 They're created to remove most of the fakeouts . For those that can't be removed - a strong risk management would cut most of the remaining potential big losses.
No system works 100% of the time - so a convergence system needs a back-up plan in case the converged signal is wrong (could be stop-loss, hard exit, reducing position sizing, ...)
Wishing you the BEST and happy beginning of your week
Daveatt
Trend is your friendThis indicator evaluates the trend based on crosses of two McGinley moving averages. It paints candles accordingly (it does not repaint), so you can see what the indicator is saying more clearly and stay in your trade until you see a period of consolidation or a reversal. You can control how far away those moving averages need to be for you to consider it a trend. If this distance is not met candles color is not changed and it shows you that the market is in a period of consolidation. I also added visualization of RSI, so you can have an easier time finding appropriate profit targets. For stop loss I would recommend placing it a couple points above or below the previous high / low that is located above / below you final target for entry. You can also use a certain percentage that works for you. I tried adding a stop loss based on ATR, but I did not like the results. Using market structure is a better choice in my opinion. 
 Here is a basic trading strategy for the default settings: 
Wait for the indicator to start printing a series of green or red candles. After that you can enter a long or a short around moving averages. Another valid place to entry is the specific RSI zone. If we are in an uptrend buying when RSI is oversold can be beneficial as you expect market to recover. I do not recommend changing RSI from 14. Vice versa for the downtrend. It gives you an edge as you know at what price RSI will be oversold and allows you to place trades in advance. Pretty neat! You need to realize that no indicator or strategy can give you an exact entry. There will always be some margin of error. What I wanted to say is that if there is a strong trend up and you buy around your key moving averages and when RSI is oversold you entered in good places and there is a pretty good chance you will make money. 
 Time frame settings:  
If you want to use tighter stop losses I would recommend sticking to 15m. Do not go lower. It is not worth the stress. 1h and 4h seems to be very good as well, but expect your stop losses to be wider. What I personally tend to do is display 15m, 30m and 1h and compare it. Think of it as a short, mid and long term. That way you can see things little bit better. 
 Examples: 
 1H chart BTC 
  
 4h chart EUR / USD 
  
 1D chart NASDAQ 
  
 15m chart BTC (Daytrading) 
  
That last chart shows that even if you were longing while the trend was about to change you still had a good chance to close it with a little profit and switch to short easily. The default settings is what has worked the best for me. Feel free to change them as you see fit and do not forget to let me know if you find something that works better :)
 Notes:  
Either disable wick display or change it to a neutral color like gray for both green and red candles. Unfortunately pine script does not allow wick painting, so if you have red / green wicks it will look terrible. If RSI visualization makes your candles look too small you can go to settings and disable the display of individual RSI levels. You will still be able to see the zones, but the scale won't be affected.  
Advanced Psychological Levels with Dynamic Spacing═══════════════════════════════════════
 ADVANCED PSYCHOLOGICAL LEVELS WITH DYNAMIC SPACING 
═══════════════════════════════════════
A comprehensive psychological price level indicator that automatically identifies and displays round number levels across multiple timeframes. Features dynamic ATR-based spacing, smart crypto detection, distance tracking, and customizable alert system.
───────────────────────────────────────
 WHAT THIS INDICATOR DOES 
───────────────────────────────────────
This indicator automatically draws psychological price levels (round numbers) that often act as support and resistance:
- Dynamic ATR-Based Spacing - Adapts level spacing to market volatility
- Multiple Level Types - Major (250 pip), Standard (100 pip), Mid, and Intraday levels
- Smart Asset Detection - Automatically adjusts for Forex, Crypto, Indices, and CFDs
- Crypto Price Adaptation - Intelligent level spacing based on cryptocurrency price magnitude
- Distance Information Table - Real-time percentage distance to nearest levels
- Combined Level Labels - Clear identification when multiple level types coincide
- Performance Optimized - Configurable visible range and label limits
- Comprehensive Alerts - Notifications when price crosses any level type
───────────────────────────────────────
 HOW IT WORKS 
───────────────────────────────────────
 PSYCHOLOGICAL LEVELS CONCEPT: 
Psychological levels are round numbers where traders tend to place orders, creating natural support and resistance zones. These include:
- Forex: 1.0000, 1.0100, 1.0050 (pips)
- Crypto: $100, $1,000, $10,000 (whole numbers)
- Indices: 10,000, 10,500, 11,000 (points)
Why They Matter:
- Traders naturally gravitate to round numbers
- Stop losses cluster at these levels
- Take profit orders concentrate here
- Institutional algorithmic trading often targets these levels
 DYNAMIC ATR-BASED SPACING: 
Traditional Method:
- Fixed spacing regardless of volatility
- May be too tight in volatile markets
- May be too wide in quiet markets
Dynamic Method (Recommended):
- Uses ATR (Average True Range) to measure volatility
- Automatically adjusts level spacing
- Tighter levels in low volatility
- Wider levels in high volatility
Calculation:
1. Calculate ATR over specified period (default: 14)
2. Multiply by ATR multiplier (default: 2.0)
3. Round to nearest psychological level
4. Generate levels at dynamic intervals
Benefits:
- Adapts to market conditions
- More relevant levels in all volatility regimes
- Reduces clutter in trending markets
- Provides more detail in ranging markets
 LEVEL TYPES: 
Major Levels (250 pip/point):
- Highest significance
- Primary support/resistance zones
- Color: Red (default)
- Style: Solid lines
- Spacing: 2.5x standard step
Standard Levels (100 pip/point):
- Secondary importance
- Common psychological barriers
- Color: Blue (default)
- Style: Dashed lines
- Spacing: Standard step
Mid Levels (50% between major):
- Optional intermediate levels
- Halfway between major levels
- Color: Gray (default)
- Style: Dotted lines
- Usage: Additional confluence points
Intraday Levels (sub-100 pip):
- For intraday traders
- Fine-grained precision
- Color: Yellow (default)
- Style: Dotted lines
- Only shown on intraday timeframes
 SMART ASSET DETECTION: 
Forex Pairs:
- Detects major currency pairs automatically
- Uses pip-based calculations
- Standard: 100 pips (0.0100)
- Major: 250 pips (0.0250)
- Intraday: 20, 50, 80 pip subdivisions
Cryptocurrencies:
- Automatic price magnitude detection
- Adaptive spacing based on price:
  * Under $0.10: Levels at $0.01, $0.05
  * $0.10-$1: Levels at $0.10, $0.50
  * $1-$10: Levels at $1, $5
  * $10-$100: Levels at $10, $50
  * $100-$1,000: Levels at $100, $500
  * $1,000-$10,000: Levels at $1,000, $5,000
  * Over $10,000: Levels at $5,000, $10,000
Indices & CFDs:
- Fixed point-based system
- Major: 500 point intervals (with 250 sub-levels)
- Standard: 100 point intervals
- Suitable for stock indices like SPX, NASDAQ
 COMBINED LEVEL LABELS: 
When multiple level types coincide at the same price:
- Single line drawn (highest priority color)
- Combined label shows all types
- Priority: Major > Standard > Mid > Intraday
Example Label Formats:
- "1.1000 Major" - Major level only
- "1.1000 Std + Major" - Both standard and major
- "50000 Intra + Mid + Std" - Three levels coincide
Benefits:
- Cleaner chart appearance
- Clear identification of confluence
- Reduced visual clutter
- Easy to spot high-importance levels
 DISTANCE INFORMATION TABLE: 
Real-time tracking of nearest levels:
Table Contents:
- Nearest major level above (price and % distance)
- Nearest standard level above (price and % distance)
- Nearest standard level below (price and % distance)
Display:
- Top right corner (configurable)
- Color-coded by level type
- Real-time percentage calculations
- Helpful for position management
Usage:
- Identify proximity to key levels
- Set realistic profit targets
- Gauge potential move magnitude
- Monitor approaching resistance/support
ALERT SYSTEM:
Comprehensive crossing alerts:
Alert Types:
- Major Level Crosses
- Standard Level Crosses
- Intraday Level Crosses
Alert Modes:
- First Cross Only: Alert once when level is crossed
- All Crosses: Alert every time level is crossed
Alert Information:
- Level type crossed
- Specific price level
- Direction (above/below)
- One alert per bar to prevent spam
Configuration:
- Enable/disable by level type
- Choose alert frequency
- Customize for your trading style
───────────────────────────────────────
 HOW TO USE 
───────────────────────────────────────
 INITIAL SETUP: 
General Settings:
1. Enable "Use Dynamic ATR-Based Spacing" (recommended)
2. Set ATR Period (14 is standard)
3. Adjust ATR Multiplier (2.0 is balanced)
Visibility Settings:
1. Set Visible Range % (10% recommended for clarity)
2. Adjust Label Offset for readability
3. Configure performance limits if needed
Level Selection:
1. Enable/disable level types based on trading style
2. Adjust line counts for each type
3. Choose line styles and colors for visibility
 TRADING STRATEGIES: 
Breakout Trading:
1. Wait for price to approach major or standard level
2. Monitor for consolidation near level
3. Enter on confirmed break above/beyond level
4. Stop loss just beyond the broken level
5. Target: Next major or standard level
Rejection Trading:
1. Identify major psychological level
2. Wait for price to test the level
3. Look for rejection signals (wicks, bearish/bullish candles)
4. Enter in direction of rejection
5. Stop beyond the level
6. Target: Previous level or mid-level
Range Trading:
1. Identify range between two major levels
2. Buy at lower psychological level
3. Sell at upper psychological level
4. Use standard and mid-levels for position management
5. Exit if major level breaks with volume
Confluence Trading:
1. Look for combined levels (Std + Major)
2. These represent high-probability zones
3. Use as primary support/resistance
4. Increase position size at confluence
5. Expect stronger reactions at these levels
Session-Based Trading:
1. Note opening level at session start (Asian/London/NY)
2. Trade breakouts of major levels during high-volume sessions
3. London/NY sessions: More likely to break levels
4. Asian session: More likely to respect levels (range trading)
 RISK MANAGEMENT WITH PSYCHOLOGICAL LEVELS: 
Stop Loss Placement:
- Place stops just beyond psychological levels
- Add buffer (5-10 pips for forex)
- Avoid exact round numbers (stop hunting risk)
- Use previous major level as maximum stop
Take Profit Strategy:
- First target: Next standard level (partial profit)
- Second target: Next major level (remaining position)
- Trail stops to breakeven at first target
- Use distance table to calculate risk/reward
Position Sizing:
- Larger positions at major levels (higher probability)
- Smaller positions at intraday levels (lower probability)
- Scale in at standard levels between major levels
- Reduce size when multiple levels are close together
 TIMEFRAME CONSIDERATIONS: 
Higher Timeframes (4H, Daily, Weekly):
- Focus on Major and Standard levels only
- Disable Intraday and Mid levels
- Wider level spacing expected
- Use for swing trading and position trading
Lower Timeframes (5m, 15m, 1H):
- Enable all level types
- Use Intraday levels for precision
- Tighter level spacing acceptable
- Good for day trading and scalping
Multi-Timeframe Approach:
- Identify major levels on Daily/4H charts
- Refine entries using 15m/1H intraday levels
- Trade in direction of higher timeframe bias
- Use lower timeframe levels for position management
───────────────────────────────────────
 CONFIGURATION GUIDE 
───────────────────────────────────────
GENERAL SETTINGS:
Dynamic ATR-Based Spacing:
- Enabled: Recommended for most markets
- Disabled: Fixed psychological levels
- ATR Period: 14 (standard), 10 (responsive), 20 (smooth)
- ATR Multiplier: 1.0-5.0 (2.0 is balanced)
VISIBILITY SETTINGS:
Visible Range %:
- 5%: Very tight range, minimal clutter
- 10%: Balanced view (recommended)
- 20%: Wide range, more context
- 50%: Maximum range, all levels visible
Label Offset:
- 10-20 bars: Close to current price
- 30-50 bars: Moderate distance
- 50-100 bars: Far from price action
Performance Limits:
- Max Historical Bars: Reduce if indicator loads slowly
- Max Labels: Reduce for cleaner chart (20-30 recommended)
LEVEL CUSTOMIZATION:
Line Count:
- Lower (1-3): Cleaner chart, fewer levels
- Medium (4-6): Balanced view
- Higher (7-10): More context, busier chart
Line Styles:
- Solid: High importance, easy to see
- Dashed: Medium importance, clear but subtle
- Dotted: Low importance, minimal visual weight
Colors:
- Use contrasting colors for different level types
- Red/Blue/Yellow default works well
- Adjust based on chart background and personal preference
DISTANCE TABLE:
Position:
- Top Right: Doesn't interfere with price action
- Top Left: Good for right-side price scale
- Bottom positions: Less common but available
Colors:
- Default (white text, dark background) works for most charts
- Match your chart theme for consistency
- Ensure text is readable against background
ALERT CONFIGURATION:
Alert by Level Type:
- Major: Most important, fewer false signals
- Standard: Balance of frequency and importance
- Intraday: Many signals, best for active traders
Alert Frequency:
- First Cross Only: Cleaner, less noise (recommended for swing trading)
- All Crosses: Every touch, good for scalping
Alert Setup in TradingView:
1. Configure desired alert types in indicator settings
2. Right-click chart → Add Alert
3. Select this indicator
4. Choose "Any alert() function call"
5. Set delivery method (mobile, email, webhook)
───────────────────────────────────────
 ASSET-SPECIFIC TIPS 
───────────────────────────────────────
FOREX (EUR/USD, GBP/USD, etc.):
- Major levels at x.x000, x.x500
- Standard levels at x.xx00
- Intraday levels at 20/50/80 pips
- Most effective during London/NY sessions
- Watch for "figure" levels (1.0000, 1.1000)
CRYPTOCURRENCIES (BTC, ETH, etc.):
- Enable dynamic spacing for volatile markets
- Levels adjust automatically based on price
- Watch major $1,000 increments for BTC
- $100 levels important for ETH
- Smaller caps: Use standard levels
- High volatility: Increase ATR multiplier to 3.0
STOCK INDICES (SPX, NASDAQ, etc.):
- 100-point levels most important
- 500-point levels for major S/R
- 50-point mid-levels for refinement
- Watch end-of-day for level reactions
- Futures often lead spot on level breaks
GOLD/COMMODITIES:
- Major levels at $50 increments ($1,900, $1,950)
- Standard levels at $10 increments
- Very reactive to psychological levels
- Watch for false breaks during low volume
- Best reactions during active trading hours
───────────────────────────────────────
 BEST PRACTICES 
───────────────────────────────────────
Chart Setup:
- Use clean price action charts
- Avoid too many indicators
- Ensure psychological levels are clearly visible
- Match colors to your chart theme
Level Selection:
- Start with Major and Standard levels only
- Add Mid and Intraday as needed
- Less is more - avoid chart clutter
- Adjust based on timeframe
Combining with Other Tools:
- Volume profile for confluence
- Trendlines intersecting psychological levels
- Moving averages near round numbers
- Fibonacci levels coinciding with psychological levels
Common Mistakes to Avoid:
- Trading every level touch (be selective)
- Ignoring volume confirmation
- Setting stops exactly at levels (stop hunting)
- Forgetting to adjust for different assets
- Over-relying on levels without price action confirmation
Performance Optimization:
- Reduce visible range for faster loading
- Lower max historical bars on lower timeframes
- Limit labels to 30-50 for clarity
- Disable unused level types
───────────────────────────────────────
 EDUCATIONAL DISCLAIMER 
───────────────────────────────────────
This indicator identifies psychological price levels based on round numbers that tend to act as support and resistance. The methodology includes:
- Round number detection algorithms
- ATR-based dynamic spacing calculations
- Asset-specific level determination
- Distance percentage calculations
Psychological levels are a recognized concept in technical analysis, studied by traders and institutions. However, they do not guarantee price reactions and should be used as part of a comprehensive trading strategy including proper risk management, volume analysis, and price action confirmation.
───────────────────────────────────────
 USAGE DISCLAIMER 
───────────────────────────────────────
This tool is for educational and analytical purposes. Psychological levels can act as support or resistance but price reactions are not guaranteed. Dynamic spacing may generate different levels in different market conditions. Always conduct independent analysis, use proper risk management, and never risk capital you cannot afford to lose. Past performance does not indicate future results.
───────────────────────────────────────
 CREDITS & ATTRIBUTION 
───────────────────────────────────────
Original Concept: Sonar Lab
Quantum Fluxtrend [CHE]  Quantum Fluxtrend   — A dynamic Supertrend variant with integrated breakout event tracking and VWAP-guided risk management for clearer trend decisions.
  Summary 
The Quantum Fluxtrend   builds on traditional Supertrend logic by incorporating a midline derived from smoothed high and low values, creating adaptive bands that respond to market range expansion or contraction. This results in fewer erratic signals during volatile periods and smoother tracking in steady trends, while an overlaid event system highlights breakout confirmations, potential traps, or continuations with visual lines, labels, and percentage deltas from the close. Users benefit from real-time VWAP calculations anchored to events, providing dynamic stop-loss suggestions to help manage exits without manual adjustments. Overall, it layers signal robustness with actionable annotations, reducing noise in fast-moving charts.
  Motivation: Why this design? 
Standard Supertrend indicators often generate excessive flips in choppy conditions or lag behind in low-volatility drifts, leading to whipsaws that erode confidence in trend direction. This design addresses that by centering bands around a midline that reflects recent price spreads, ensuring adjustments are proportional to observed variability. The added event layer captures regime shifts explicitly, turning abstract crossovers into labeled milestones with trailing VWAP for context, which helps traders distinguish genuine momentum from fleeting noise without over-relying on raw price action.
  What’s different vs. standard approaches? 
- Baseline reference: Diverges from the classic Supertrend, which uses average true range for fixed offsets from a median price.
- Architecture differences:
  - Bands form around a central line averaged from smoothed highs and lows, with offsets scaled by half the range between those smooths.
  - Regime direction persists until a clear breach of the prior opposite band, preventing premature reversals.
  - Event visualization draws persistent lines from flip points, updating labels based on price sustainment relative to the trigger level.
  - VWAP resets at each event, accumulating volume-weighted prices forward for a trailing reference.
- Practical effect: Charts show fewer direction changes overall, with color-coded annotations that evolve from initial breakout to continuation or trap status, making it easier to spot sustained moves early. VWAP lines provide a volume-informed anchor that curves with price, offering visual cues for adverse drifts.
  How it works (technical) 
The process starts by smoothing high and low prices over a user-defined period to form upper and lower references. A midline sits midway between them, and half the spread acts as a base for band offsets, adjusted by a multiplier to widen or narrow sensitivity. On each bar, the close is checked against the previous bar's opposite band: crossing above expands the lower band downward in uptrends, or below contracts the upper band upward in downtrends, creating a ratcheting effect that locks in direction until breached.
Persistent state tracks the current regime, seeding initial bands from the smoothed values if no prior data exists. Flips trigger new horizontal lines at the breach level, styled by direction, alongside labels that monitor sustainment—price holding above for up-flips or below for down-flips keeps the regime, while reversal flags a trap.
Separately, at each flip, a dashed VWAP line initializes at the breach price and extends forward, accumulating the product of typical prices and volumes divided by total volume. This yields a curving reference that updates bar-by-bar. Warnings activate if price strays adversely from this VWAP, tinting the background for quick alerts.
No higher timeframe data is pulled, so all computations run on the chart's native resolution, avoiding lookahead biases unless repainting is enabled via input.
  Parameter Guide 
SMA Length — Controls smoothing of highs and lows for midline and range base; longer values dampen noise but increase lag. Default: 20. Trade-offs: Shortens responsiveness in trends (e.g., 10–14) but risks more flips; extend to 30+ for stability in ranging markets.
Multiplier — Scales band offsets from the half-range; higher amplifies to capture bigger swings. Default: 1.0. Trade-offs: Above 1.5 widens for volatile assets, reducing false signals; below 0.8 tightens for precision but may miss subtle shifts.
Show Bands — Toggles visibility of basic and adjusted band lines for reference. Default: false. Tip: Enable briefly to verify alignment with price action.
Show Background Color — Displays red tint on VWAP adverse crosses for visual warnings. Default: false. Trade-offs: Helps in live monitoring but can clutter clean charts.
Line Width — Sets thickness for event and VWAP lines. Default: 2. Tip: Thicker (3–5) for emphasis on key levels.
+Bars after next event — Extends old lines briefly before cleanup on new flips. Default: 20. Trade-offs: Longer preserves history (40+) at resource cost; shorter keeps charts tidy.
Allow Repainting — Permits live-bar updates for smoother real-time view. Default: false. Tip: Disable for backtest accuracy.
Extension 1 Settings (Show, Width, Size, Decimals, Colors, Alpha) — Manages dotted connector from event label to current close, showing percentage change. Defaults: Shown, width 2, normal size, 2 decimals, lime/red for gains/losses, gray line, 90% transparent background. Trade-offs: Fewer decimals for clean display; adjust alpha for readability.
Extension 2 Settings (Show, Method, Stop %, Ticks, Decimals, Size, Color, Inherit, Alpha) — Positions stop label at VWAP end, offset by percent or ticks. Defaults: Shown, percent method, 1.0%, 20 ticks, 4 decimals, normal size, white text, inherit tint, 0% alpha. Trade-offs: Percent for proportional risk; ticks for fixed distance in tick-based assets.
Alert Toggles — Enables notifications for breakouts, continuations, traps, or VWAP warnings. All default: true. Tip: Layer with chart alerts for multi-condition setups.
  Reading & Interpretation 
The main Supertrend line colors green for up-regimes (price above lower band) and red for down (below upper band), serving as a dynamic support/resistance trail. Flip shapes (up/down triangles) mark regime changes at band breaches.
Event lines extend horizontally from flips: green for bull, red for bear. Labels start blank and update to "Bull/Bear Cont." if price sustains the direction, or "Trap" if it reverses, with colors shifting lime/red/gray accordingly. A dotted vertical links the trailing label to the current close, mid-labeled with the percentage delta (positive green, negative red).
VWAP dashes yellow (bull) or orange (bear) from the event, curving to reflect volume-weighted average. At its end, a left-aligned label shows suggested stop price, annotated with offset details. Background red hints at weakening if price crosses VWAP opposite the regime.
Deltas near zero suggest consolidation; widening extremes signal momentum buildup or exhaustion.
  Practical Workflows & Combinations 
- Trend following: Enter long on green flip shapes confirmed by higher highs, using the event line as initial stop below. Trail stops to VWAP for bull runs, exiting on trap labels or red background warnings. Filter with volume spikes to avoid low-conviction breaks.
- Exits/Stops: Conservative: Set hard stops at suggested SL labels. Aggressive: Hold through minor traps if delta stays positive, but cut on regime flip. Pair with momentum oscillators for overbought pullbacks.
- Multi-asset/Multi-TF: Defaults suit forex/stocks on 15m–4H; for crypto, bump multiplier to 1.5 for volatility. Scale SMA length proportionally across timeframes (e.g., double for daily). Combine with structure tools like Fibonacci for confluence on event lines.
  Behavior, Constraints & Performance 
Live bars update lines and labels dynamically if repainting is allowed, but signals confirm on close for stability—flips only trigger post-bar. No higher timeframe calls, so no inherent lookahead, though volume weighting assumes continuous data.
Resources cap at 1000 bars back, 50 lines/labels max; events prune old ones on new flips to stay under budget, with brief extensions for visibility. Arrays or loops absent, keeping it lightweight.
Known limits include lag in extreme gaps (e.g., overnight opens) where bands may not adjust instantly, and VWAP sensitivity to sparse volume in illiquid sessions.
  Sensible Defaults & Quick Tuning 
Start with SMA 20, multiplier 1.0 for balanced response across majors. For choppy pairs: Lengthen SMA to 30, multiplier 0.8 to tighten bands and cut flips. For trending equities: Shorten to 14, multiplier 1.2 for quicker entries. If traps dominate, enable bands to inspect range compression; for sluggish signals, reduce extension bars to focus on recent events.
  What this indicator is—and isn’t 
This serves as a visualization and signal layer for trend regimes and breakouts, highlighting sustainment via annotations and risk cues through VWAP—ideal atop price action for confirmation. It is not a standalone system, predictive oracle, or risk calculator; always integrate with broader analysis, position sizing, and stops. Use responsibly as an educational tool.
  Disclaimer 
The content provided, including all code and materials, is strictly for educational and informational purposes only. It is not intended as, and should not be interpreted as, financial advice, a recommendation to buy or sell any financial instrument, or an offer of any financial product or service. All strategies, tools, and examples discussed are provided for illustrative purposes to demonstrate coding techniques and the functionality of Pine Script within a trading context.  
Any results from strategies or tools provided are hypothetical, and past performance is not indicative of future results. Trading and investing involve high risk, including the potential loss of principal, and may not be suitable for all individuals. Before making any trading decisions, please consult with a qualified financial professional to understand the risks involved.  
By using this script, you acknowledge and agree that any trading decisions are made solely at your discretion and risk.  
Do not use this indicator on Heikin-Ashi, Renko, Kagi, Point-and-Figure, or Range charts, as these chart types can produce unrealistic results for signal markers and alerts.  
 Best regards and happy trading  
Chervolino
Mean Reversion Trading V1Overview
This is a simple mean reversion strategy that combines RSI, Keltner Channels, and MACD Histograms to predict reversals. Current parameters were optimized for NASDAQ 15M and performance varies depending on asset. The strategy can be optimized for specific asset and timeframe. 
 How it works 
Long Entry (All must be true): 
 1. RSI < Lower Threshold
 2. Close < Lower KC Band 
 3. MACD Histogram > 0 and rising 
 4. No open trades
Short Entry (All must be true): 
 1. RSI > Upper Threshold
 2. Close > Upper KC Band
 3. MACD Histogram < 0 and falling
 4. No open trades
Long Exit: 
 1. Stop Loss: Average position size x ( 1 - SL percent) 
 2. Take Profit: Average position size x ( 1 + TP percent) 
 3. MACD Histogram crosses below zero
Short Exit: 
 1. Stop Loss: Average position size x ( 1 + SL percent) 
 2. Take Profit: Average position size x ( 1 - TP percent) 
 3. MACD Histogram crosses above zero
Settings and parameters are explained in the tooltips. 
 Important 
Initial capital is set as 100,000 by default and 100 percent equity is used for trades 
Trend Catch STFR - whipsaw Reduced### Summary of the Setup
This trading system combines **SuperTrend** (a trend-following indicator based on ATR for dynamic support/resistance), **Range Filter** (a smoothed median of the last 100 candles to identify price position relative to a baseline), and filters using **VIX Proxy** (a volatility measure: (14-period ATR / 14-period SMA of Close) × 100) and **ADX** (Average Directional Index for trend strength). It's designed for trend trading with volatility safeguards.
- **Entries**: Triggered only in "tradeable" markets (VIX Proxy ≥ 15 OR ADX ≥ 20) when SuperTrend aligns with direction (green for long, red for short), price crosses the Range Filter median accordingly, and you're not already in that position.
- **Exits**: Purely price-based—exit when SuperTrend flips or price crosses back over the Range Filter median. No forced exits from low volatility/trend.
- **No Trade Zone**: Blocks new entries if both VIX Proxy < 15 AND ADX < 20, but doesn't affect open positions.
- **Overall Goal**: Enter trends with confirmed strength/volatility, ride them via price action, and avoid ranging/choppy markets for new trades.
This creates a filtered trend-following strategy that prioritizes quality entries while letting winners run.
### Advantages
- **Reduces Noise in Entries**: The VIX Proxy and ADX filters ensure trades only in volatile or strongly trending conditions, avoiding low-momentum periods that often lead to false signals.
- **Lets Winners Run**: Exits based solely on price reversal (SuperTrend or Range Filter) allow positions to stay open during temporary lulls in volatility/trend, potentially capturing longer moves.
- **Simple and Balanced**: Combines trend (SuperTrend/ADX), range (Filter), and volatility (VIX Proxy) without overcomplicating—easy to backtest and adapt to assets like stocks, forex, or crypto.
- **Adaptable to Markets**: The "OR" logic for VIX/ADX provides flexibility (e.g., enters volatile sideways markets if ADX is low, or steady trends if VIX is low).
- **Risk Control**: Implicitly limits exposure by blocking entries in calm markets, which can preserve capital during uncertainty.
### Disadvantages
- **Whipsaws in Choppy Markets**: As you noted, SuperTrend can flip frequently in ranging conditions, leading to quick entries/exits and small losses, especially if the Range Filter isn't smoothing enough noise.
- **Missed Opportunities**: Strict filters (e.g., requiring VIX ≥ 15 or ADX ≥ 20) might skip early-stage trends or low-volatility grinds, reducing trade frequency and potential profits in quiet bull/bear markets.
- **Lagging Exits**: Relying only on price flips means you might hold losing trades longer if volatility drops without a clear reversal, increasing drawdowns.
- **Parameter Sensitivity**: Values like VIX 15, ADX 20, or Range Filter's 100-candle lookback need tuning per asset/timeframe; poor choices could amplify whipsaws or over-filter.
- **No Built-in Risk Management**: Lacks explicit stops/targets, so it relies on user-added rules (e.g., ATR-based stops), which could lead to oversized losses if not implemented.
### How to Use It
This system can be implemented in platforms like TradingView (via Pine Script), Python (e.g., with TA-Lib or Pandas), or MT4/5. Here's a step-by-step guide, assuming TradingView for simplicity—adapt as needed. (If coding in Python, use libraries like pandas_ta for indicators.)
1. **Set Up Indicators**:
   - Add SuperTrend (default: ATR period 10, multiplier 3—adjust as suggested in prior tweaks).
   - Create Range Filter: Use a 100-period SMA of (high + low)/2, smoothed (e.g., via EMA if desired).
   - Calculate VIX Proxy: Custom script for (ATR(14) / SMA(close, 14)) * 100.
   - Add ADX (period 14, standard).
2. **Define Rules in Code/Script**:
   - **Long Entry**: If SuperTrend direction < 0 (green), close > RangeFilterMedian, (VIX Proxy ≥ 15 OR ADX ≥ 20), and not already long—buy on bar close.
   - **Short Entry**: If SuperTrend direction > 0 (red), close < RangeFilterMedian, (VIX Proxy ≥ 15 OR ADX ≥ 20), and not already short—sell short.
   - **Exit Long**: If in long and (SuperTrend > 0 OR close < RangeFilterMedian)—sell.
   - **Exit Short**: If in short and (SuperTrend < 0 OR close > RangeFilterMedian)—cover.
   - Monitor No Trade Zone visually (e.g., plot yellow background when VIX < 15 AND ADX < 20).
3. **Backtest and Optimize**:
   - Use historical data on your asset (e.g., SPY on 1H chart).
   - Test metrics: Win rate, profit factor, max drawdown. Adjust thresholds (e.g., ADX to 25) to reduce whipsaws.
   - Forward-test on demo account to validate.
4. **Live Trading**:
   - Apply to a chart, set alerts for entries/exits.
   - Add risk rules: Position size 1-2% of capital, stop-loss at SuperTrend line.
   - Monitor manually or automate via bots—avoid overtrading; use on trending assets.
For the adjustments I suggested earlier (e.g., ADX 25, 2-bar confirmation), integrate them into entries only—test one at a time to isolate improvements. If whipsaws persist, combine 2-3 tweaks.
Hidden Impulse═══════════════════════════════════════════════════════════════════
HIDDEN IMPULSE - Multi-Timeframe Momentum Detection System
═══════════════════════════════════════════════════════════════════
OVERVIEW
Hidden Impulse is an advanced momentum oscillator that combines the Schaff Trend Cycle (STC) and Force Index into a comprehensive multi-timeframe trading system. Unlike standard implementations of these indicators, this script introduces three distinct trading setups with specific entry conditions, multi-timeframe confirmation, and trend filtering.
═══════════════════════════════════════════════════════════════════
ORIGINALITY & KEY FEATURES
This indicator is original in the following ways:
1. DUAL-TIMEFRAME STC ANALYSIS
   Standard STC implementations work on a single timeframe. This script 
   simultaneously analyzes STC on both your trading timeframe and a higher 
   timeframe, providing trend context and filtering out low-probability signals.
2. FORCE INDEX INTEGRATION
   The script combines STC with Force Index (volume-weighted price momentum) 
   to confirm the strength behind price moves. This combination helps identify 
   when momentum shifts are backed by genuine buying/selling pressure.
3. THREE DISTINCT TRADING SETUPS
   Rather than generic overbought/oversold signals, the indicator provides 
   three specific, rule-based setups:
   - Setup A: Classic trend-following entries with multi-timeframe confirmation
   - Setup B: Divergence-based reversal entries (highest probability)
   - Setup C: Mean-reversion bounce trades at extreme levels
4. INTELLIGENT FILTERING
   All signals are filtered through:
   - 50 EMA trend direction (prevents counter-trend trades)
   - Higher timeframe STC alignment (ensures macro trend agreement)
   - Force Index confirmation (validates volume support)
═══════════════════════════════════════════════════════════════════
HOW IT WORKS - TECHNICAL EXPLANATION
SCHAFF TREND CYCLE (STC) CALCULATION:
The STC is a cyclical oscillator that combines MACD concepts with stochastic 
smoothing to create earlier and smoother trend signals.
Step 1: Calculate MACD
   - Fast MA = EMA(close, Length1) — default 23
   - Slow MA = EMA(close, Length2) — default 50
   - MACD Line = Fast MA - Slow MA
Step 2: First Stochastic Smoothing
   - Apply stochastic calculation to MACD
   - Stoch1 = 100 × (MACD - Lowest(MACD, Smoothing)) / (Highest(MACD, Smoothing) - Lowest(MACD, Smoothing))
   - Smooth result with EMA(Stoch1, Smoothing) — default 10
Step 3: Second Stochastic Smoothing
   - Apply stochastic calculation again to the smoothed stochastic
   - This creates the final STC value between 0-100
The dual stochastic smoothing makes STC more responsive than MACD while 
being smoother than traditional stochastics.
FORCE INDEX CALCULATION:
Force Index measures the power behind price movements by incorporating volume:
   Force Raw = (Close - Close ) × Volume
   Force Index = EMA(Force Raw, Period) — default 13
Interpretation:
   - Positive Force Index = Buying pressure (bulls in control)
   - Negative Force Index = Selling pressure (bears in control)
   - Force Index crossing zero = Momentum shift
   - Divergences with price = Weakening momentum (reversal signal)
TREND FILTER:
A 50-period EMA serves as the trend filter:
   - Price above EMA50 = Uptrend → Only LONG signals allowed
   - Price below EMA50 = Downtrend → Only SHORT signals allowed
This prevents counter-trend trading which accounts for most losing trades.
═══════════════════════════════════════════════════════════════════
THE THREE TRADING SETUPS - DETAILED
SETUP A: CLASSIC MOMENTUM ENTRY
Concept: Enter when STC exits oversold/overbought zones with trend confirmation
LONG CONDITIONS:
   1. Higher timeframe STC > 25 (macro trend is up)
   2. Primary timeframe STC crosses above 25 (momentum turning up)
   3. Force Index crosses above 0 OR already positive (volume confirms)
   4. Price above 50 EMA (local trend is up)
SHORT CONDITIONS:
   1. Higher timeframe STC < 75 (macro trend is down)
   2. Primary timeframe STC crosses below 75 (momentum turning down)
   3. Force Index crosses below 0 OR already negative (volume confirms)
   4. Price below 50 EMA (local trend is down)
Best for: Trending markets, continuation trades
Win rate: Moderate (60-65%)
Risk/Reward: 1:2 to 1:3
───────────────────────────────────────────────────────────────────
SETUP B: DIVERGENCE REVERSAL (HIGHEST PROBABILITY)
Concept: Identify exhaustion points where price makes new extremes but 
momentum (Force Index) fails to confirm
BULLISH DIVERGENCE:
   1. Price makes a lower low (LL) over 10 bars
   2. Force Index makes a higher low (HL) — refuses to follow price down
   3. STC is below 25 (oversold condition)
   
   Trigger: STC starts rising AND Force Index crosses above zero
BEARISH DIVERGENCE:
   1. Price makes a higher high (HH) over 10 bars
   2. Force Index makes a lower high (LH) — refuses to follow price up
   3. STC is above 75 (overbought condition)
   
   Trigger: STC starts falling AND Force Index crosses below zero
Why this works: Divergences signal that the current trend is losing steam. 
When volume (Force Index) doesn't confirm new price extremes, a reversal 
is likely.
Best for: Reversal trading, range-bound markets
Win rate: High (70-75%)
Risk/Reward: 1:3 to 1:5
───────────────────────────────────────────────────────────────────
SETUP C: QUICK BOUNCE AT EXTREMES
Concept: Catch rapid mean-reversion moves when price touches EMA50 in 
extreme STC zones
LONG CONDITIONS:
   1. Price touches 50 EMA from above (pullback in uptrend)
   2. STC < 15 (extreme oversold)
   3. Force Index > 0 (buyers stepping in)
SHORT CONDITIONS:
   1. Price touches 50 EMA from below (pullback in downtrend)
   2. STC > 85 (extreme overbought)
   3. Force Index < 0 (sellers stepping in)
Best for: Scalping, quick mean-reversion trades
Win rate: Moderate (55-60%)
Risk/Reward: 1:1 to 1:2
Note: Use tighter stops and quick profit-taking
═══════════════════════════════════════════════════════════════════
HOW TO USE THE INDICATOR
STEP 1: CONFIGURE TIMEFRAMES
Primary Timeframe (STC - Primary Timeframe):
   - Leave empty to use your current chart timeframe
   - This is where you'll take trades
Higher Timeframe (STC - Higher Timeframe):
   - Default: 30 minutes
   - Recommended ratios:
     * 5min chart → 30min higher TF
     * 15min chart → 1H higher TF
     * 1H chart → 4H higher TF
     * Daily chart → Weekly higher TF
───────────────────────────────────────────────────────────────────
STEP 2: ADJUST STC PARAMETERS FOR YOUR MARKET
Default (23/50/10) works well for stocks and forex, but adjust for:
CRYPTO (volatile):
   - Length 1: 15
   - Length 2: 35
   - Smoothing: 8
   (Faster response for rapid price movements)
STOCKS (standard):
   - Length 1: 23
   - Length 2: 50
   - Smoothing: 10
   (Balanced settings)
FOREX MAJORS (slower):
   - Length 1: 30
   - Length 2: 60
   - Smoothing: 12
   (Filters out noise in 24/7 markets)
───────────────────────────────────────────────────────────────────
STEP 3: ENABLE YOUR PREFERRED SETUPS
Toggle setups based on your trading style:
Conservative Trader:
   ✓ Setup B (Divergence) — highest win rate
   ✗ Setup A (Classic) — only in strong trends
   ✗ Setup C (Bounce) — too aggressive
Trend Trader:
   ✓ Setup A (Classic) — primary signals
   ✓ Setup B (Divergence) — for entries on pullbacks
   ✗ Setup C (Bounce) — not suitable for trending
Scalper:
   ✓ Setup C (Bounce) — quick in-and-out
   ✓ Setup B (Divergence) — high probability scalps
   ✗ Setup A (Classic) — too slow
───────────────────────────────────────────────────────────────────
STEP 4: READ THE SIGNALS
ON THE CHART:
   Labels appear when conditions are met:
   
   Green labels:
   - "LONG A" — Setup A long entry
   - "LONG B DIV" — Setup B divergence long (best signal)
   - "LONG C" — Setup C bounce long
   
   Red labels:
   - "SHORT A" — Setup A short entry
   - "SHORT B DIV" — Setup B divergence short (best signal)
   - "SHORT C" — Setup C bounce short
IN THE INDICATOR PANEL (bottom):
   - Blue line = Primary timeframe STC
   - Orange dots = Higher timeframe STC (optional)
   - Green/Red bars = Force Index histogram
   - Dashed lines at 25/75 = Entry/Exit zones
   - Background shading = Oversold (green) / Overbought (red)
INFO TABLE (top-right corner):
   Shows real-time status:
   - STC values for both timeframes
   - Force Index direction
   - Price position vs EMA
   - Current trend direction
   - Active signal type
═══════════════════════════════════════════════════════════════════
TRADING STRATEGY & RISK MANAGEMENT
ENTRY RULES:
Priority ranking (best to worst):
   1st: Setup B (Divergence) — wait for these
   2nd: Setup A (Classic) — in confirmed trends only
   3rd: Setup C (Bounce) — scalping only
Confirmation checklist before entry:
   ☑ Signal label appears on chart
   ☑ TREND in info table matches signal direction
   ☑ Higher timeframe STC aligned (check orange dots or table)
   ☑ Force Index confirming (check histogram color)
───────────────────────────────────────────────────────────────────
STOP LOSS PLACEMENT:
Setup A (Classic):
   - LONG: Below recent swing low
   - SHORT: Above recent swing high
   - Typical: 1-2 ATR distance
Setup B (Divergence):
   - LONG: Below the divergence low
   - SHORT: Above the divergence high
   - Typical: 0.5-1.5 ATR distance
Setup C (Bounce):
   - LONG: 5-10 pips below EMA50
   - SHORT: 5-10 pips above EMA50
   - Typical: 0.3-0.8 ATR distance
───────────────────────────────────────────────────────────────────
TAKE PROFIT TARGETS:
Conservative approach:
   - Exit when STC reaches opposite level
   - LONG: Exit when STC > 75
   - SHORT: Exit when STC < 25
Aggressive approach:
   - Hold until opposite signal appears
   - Trail stop as STC moves in your favor
Partial profits:
   - Take 50% at 1:2 risk/reward
   - Let remaining 50% run to target
───────────────────────────────────────────────────────────────────
WHAT TO AVOID:
❌ Trading Setup A in sideways/choppy markets
   → Wait for clear trend or use Setup B only
❌ Ignoring higher timeframe STC
   → Always check orange dots align with your direction
❌ Taking signals against the major trend
   → If weekly trend is down, be cautious with longs
❌ Overtrading Setup C
   → Maximum 2-3 bounce trades per session
❌ Trading during low volume periods
   → Force Index becomes unreliable
═══════════════════════════════════════════════════════════════════
ALERTS CONFIGURATION
The indicator includes 8 alert types:
Individual setup alerts:
   - "Setup A - LONG" / "Setup A - SHORT"
   - "Setup B - DIV LONG" / "Setup B - DIV SHORT" ⭐ recommended
   - "Setup C - BOUNCE LONG" / "Setup C - BOUNCE SHORT"
Combined alerts:
   - "ANY LONG" — fires on any long signal
   - "ANY SHORT" — fires on any short signal
Recommended alert setup:
   - Create "Setup B - DIV LONG" and "Setup B - DIV SHORT" alerts
   - These are the highest probability signals
   - Set "Once Per Bar Close" to avoid false alerts
═══════════════════════════════════════════════════════════════════
VISUALIZATION SETTINGS
Show Labels on Chart:
   Toggle on/off the signal labels (green/red)
   Disable for cleaner chart once you're familiar with the indicator
Show Higher TF STC:
   Toggle the orange dots showing higher timeframe STC
   Useful for visual confirmation of multi-timeframe alignment
Info Panel:
   Cannot be disabled — always shows current status
   Positioned top-right to avoid chart interference
═══════════════════════════════════════════════════════════════════
EXAMPLE TRADE WALKTHROUGH
SETUP B DIVERGENCE LONG EXAMPLE:
1. Market Context:
   - Price in downtrend, below 50 EMA
   - Multiple lower lows forming
   - STC below 25 (oversold)
2. Divergence Formation:
   - Price makes new low at $45.20
   - Force Index refuses to make new low (higher low forms)
   - This indicates selling pressure weakening
3. Signal Trigger:
   - STC starts turning up
   - Force Index crosses above zero
   - Label appears: "LONG B DIV"
4. Trade Execution:
   - Entry: $45.50 (current price at signal)
   - Stop Loss: $44.80 (below divergence low)
   - Target 1: $47.90 (STC reaches 75) — risk/reward 1:3.4
   - Target 2: Opposite signal or trail stop
5. Trade Management:
   - Price rallies to $47.20
   - STC reaches 68 (approaching target zone)
   - Take 50% profit, move stop to breakeven
   - Exit remaining at $48.10 when STC crosses 75
Result: 3.7R gain
═══════════════════════════════════════════════════════════════════
ADVANCED TIPS
1. MULTI-TIMEFRAME CONFLUENCE
   For highest probability trades, wait for:
   - Primary TF signal
   - Higher TF STC aligned (>25 for longs, <75 for shorts)
   - Even higher TF trend in same direction (manual check)
2. VOLUME CONFIRMATION
   Watch the Force Index histogram:
   - Increasing bar size = Strengthening momentum
   - Decreasing bar size = Weakening momentum
   - Use this to gauge signal strength
3. AVOID THESE MARKET CONDITIONS
   - Major news events (Force Index becomes erratic)
   - Market open first 30 minutes (volatility spikes)
   - Low liquidity instruments (Force Index unreliable)
   - Extreme trending days (wait for pullbacks)
4. COMBINE WITH SUPPORT/RESISTANCE
   Best signals occur near:
   - Key horizontal levels
   - Fibonacci retracements
   - Previous day's high/low
   - Psychological round numbers
5. SESSION AWARENESS
   - Asia session: Use lower timeframes, Setup C works well
   - London session: Setup A and B both effective
   - New York session: All setups work, highest volume
═══════════════════════════════════════════════════════════════════
INDICATOR WINDOWS LAYOUT
MAIN CHART:
   - Price action
   - 50 EMA (green/red)
   - Signal labels
   - Info panel
INDICATOR WINDOW:
   - STC oscillator (blue line, 0-100 scale)
   - Higher TF STC (orange dots, optional)
   - Force Index histogram (green/red bars)
   - Reference levels (25, 50, 75)
   - Background zones (green oversold, red overbought)
═══════════════════════════════════════════════════════════════════
PERFORMANCE OPTIMIZATION
For best results:
Backtesting:
   - Test on your specific instrument and timeframe
   - Adjust STC parameters if win rate < 55%
   - Record which setup works best for your market
Position Sizing:
   - Risk 1-2% per trade
   - Setup B can use 2% risk (higher win rate)
   - Setup C should use 1% risk (lower win rate)
Trade Frequency:
   - Setup B: 2-5 signals per week (be patient)
   - Setup A: 5-10 signals per week
   - Setup C: 10+ signals per week (scalping)
═══════════════════════════════════════════════════════════════════
CREDITS & REFERENCES
This indicator builds upon established technical analysis concepts:
Schaff Trend Cycle:
   - Developed by Doug Schaff (1996)
   - Original concept published in Technical Analysis of Stocks & Commodities
   - Implementation based on standard STC formula
Force Index:
   - Developed by Dr. Alexander Elder
   - Described in "Trading for a Living" (1993)
   - Classic volume-momentum indicator
The multi-timeframe integration, three-setup system, and specific 
entry conditions are original contributions of this indicator.
═══════════════════════════════════════════════════════════════════
DISCLAIMER
This indicator is a technical analysis tool and does not guarantee profits. 
Past performance is not indicative of future results. Always:
   - Use proper risk management
   - Test on demo account first
   - Combine with fundamental analysis
   - Never risk more than you can afford to lose
═══════════════════════════════════════════════════════════════════
SUPPORT & QUESTIONS
If you find this indicator helpful, please:
   - Leave a like and comment
   - Share your feedback and results
   - Report any bugs or issues
For questions about usage or optimization for specific markets, 
feel free to comment below.
═════════════════════════════════════════════════════════════
Adaptive Trend  1m ### Overview
The "Adaptive Trend Impulse Parallel SL/TP 1m Realistic" strategy is a sophisticated trading system designed specifically for high-volatility markets like cryptocurrencies on 1-minute timeframes. It combines trend-following with momentum filters and adaptive parameters to dynamically adjust to market conditions, ensuring more reliable entries and risk management. This strategy uses SuperTrend for primary trend detection, enhanced by MACD, RSI, Bollinger Bands, and optional volume spikes. It incorporates parallel stop-loss (SL) and multiple take-profit (TP) levels based on ATR, with options for breakeven and trailing stops after the first TP. Optimized for realistic backtesting on short timeframes, it avoids over-optimization by adapting indicators to market speed and efficiency.
### Principles of Operation
The strategy operates on the principle of adaptive impulse trading, where entry signals are generated only when multiple conditions align to confirm a strong trend reversal or continuation:
1. **Trend Detection (SuperTrend)**: The core signal comes from an adaptive SuperTrend indicator. It calculates upper and lower bands using ATR (Average True Range) with dynamic periods and multipliers. A buy signal occurs when the price crosses above the lower band (from a downtrend), and a sell signal when it crosses below the upper band (from an uptrend). Adaptation is based on Rate of Change (ROC) to measure market speed, shortening periods in fast markets for quicker responses.
2. **Momentum and Trend Filters**:
   - **MACD**: Uses adaptive fast and slow lengths. In "Trend Filter" mode (default when "Use MACD Cross" is false), it checks if the MACD line is above/below the signal for long/short. In cross mode, it requires a crossover/crossunder.
   - **RSI**: Adaptive period RSI must be above 50 for longs and below 50 for shorts, confirming overbought/oversold conditions dynamically.
   - **Bollinger Bands (BB)**: Depending on the mode ("Midline" by default), it requires the price to be above/below the BB midline for longs/shorts, or a breakout in "Breakout" mode. Deviation adapts to market efficiency.
   - **Volume Spike Filter** (optional): Entries require volume to exceed an adaptive multiple of its SMA, signaling strong impulse.
3. **Volatility Filter**: Entries are only allowed if current ATR percentage exceeds a historical minimum (adaptive), preventing trades in low-volatility ranges.
4. **Risk Management (Parallel SL/TP)**:
   - **Stop-Loss**: Set at an adaptive ATR multiple below/above entry for long/short.
   - **Take-Profits**: Three levels at adaptive ATR multiples, with partial position closures (e.g., 51% at TP1, 25% at TP2, remainder at TP3).
   - **Post-TP1 Features**: Optional breakeven moves SL to entry after TP1. Trailing SL uses BB midline as a dynamic trail.
   - All levels are calculated per trade using the ATR at entry, making them "realistic" for 1m charts by widening SL and tightening initial TPs.
The strategy enters long on buy signals with all filters met, and short on sell signals. It uses pyramid margin (100% long/short) for full position sizing.
Adaptation is driven by:
- **Market Speed (normSpeed)**: Based on ROC, tightens multipliers in volatile periods.
- **Efficiency Ratio (ER)**: Measures trend strength, adjusting periods for trending vs. ranging markets.
This ensures the strategy "adapts" without manual tweaks, reducing false signals in varying conditions.
### Main Advantages
- **Adaptability**: Unlike static strategies, parameters dynamically adjust to market volatility and trend strength, improving performance across ranging and trending phases without over-optimization.
- **Realistic Risk Management for 1m**: Wider SL and tiered TPs prevent premature stops in noisy short-term charts, while partial profits lock in gains early. Breakeven/trailing options protect profits in extended moves.
- **Multi-Filter Confirmation**: Combines trend, momentum, and volume for high-probability entries, reducing whipsaws. The volatility filter avoids flat markets.
- **Debug Visualization**: Built-in plots for signals, levels, and component checks (when "Show Debug" is enabled) help users verify logic on charts.
- **Efficiency**: Low computational load, suitable for real-time trading on TradingView with alerts.
Backtesting shows robust results on volatile assets, with a focus on sustainable risk (e.g., SL at 3x ATR avoids excessive drawdowns).
### Uniqueness
What sets this strategy apart is its **fully adaptive framework** integrating multiple indicators with real-time market metrics (ROC for speed, ER for efficiency). Most trend strategies use fixed parameters, leading to poor adaptation; here, every key input (periods, multipliers, deviations) scales dynamically within bounds, creating a "self-tuning" system. The "parallel SL/TP with 1m realism" adds custom handling for micro-timeframes: tightened initial TPs for quick wins and adaptive min-ATR filter to skip low-vol bars. Unlike generic mashups, it justifies the combination—SuperTrend for trend, MACD/RSI/BB for impulse confirmation, volume for conviction—working synergistically to capture "trend impulses" while filtering noise. The post-TP1 breakeven/trailing tied to BB adds a unique profit-locking mechanism not common in open-source scripts.
### Recommended Settings
These settings are optimized and recommended for trading ASTER/USDT on Bybit, with 1-minute chart, x10 leverage, and cross margin mode. They provide a balanced risk-reward for this volatile pair:
- **Base Inputs**:
  - Base ATR Period: 10
  - Base SuperTrend ATR Multiplier: 2.5
  - Base MACD Fast: 8
  - Base MACD Slow: 17
  - Base MACD Signal: 6
  - Base RSI Period: 9
  - Base Bollinger Period: 12
  - Bollinger Deviation: 1.8
  - Base Volume SMA Period: 19
  - Base Volume Spike Multiplier: 1.8
  - Adaptation Window: 54
  - ROC Length: 10
- **TP/SL Settings**:
  - Use Stop Loss: True
  - Base SL Multiplier (ATR): 3
  - Use Take Profits: True
  - Base TP1 Multiplier (ATR): 5.5
  - Base TP2 Multiplier (ATR): 10.5
  - Base TP3 Multiplier (ATR): 19
  - TP1 % Position: 51
  - TP2 % Position: 25
  - Breakeven after TP1: False
  - Trailing SL after TP1: False
  - Base Min ATR Filter: 0.001
  - Use Volume Spike Filter: True
  - BB Condition: Midline
  - Use MACD Cross (false=Trend Filter): True
  - Show Debug: True
For backtesting, use initial capital of 30 USD, base currency USDT, order size 100 USDT, pyramiding 1, commission 0.1%, slippage 0 ticks, long/short margin 0%.
Always backtest on your platform and use risk management—risk no more than 1-2% per trade. This is not financial advice; trade at your own risk.
ZS Game Changer Pump & Dump DetectorZS GAME CHANGER PUMP AND DUMP DETECTOR - TOP 2 MOMENTUM TRACKER
Created by Zakaria Safri
An intelligent indicator specifically designed to identify and highlight the two most significant pump and dump candles within your selected lookback period. Perfect for traders who want to focus on the game-changing moves that truly matter in volatile markets like cryptocurrency, stocks, and forex.
CORE FEATURES
AUTOMATIC GAME CHANGER DETECTION
The indicator continuously scans your specified lookback period and automatically identifies the top 2 strongest pump candles and top 2 strongest dump candles. These game-changing candles are highlighted with distinctive gold labels and horizontal reference lines, making them instantly visible on your chart. Unlike other indicators that show every small move, this focuses exclusively on the market-moving moments that define trends and create opportunities.
INTELLIGENT PUMP AND DUMP CLASSIFICATION
Uses advanced percentage-based calculations to classify candles as pumps when price surges significantly upward and dumps when price plunges sharply downward. The detection system accounts for candle body size, wick proportions, and volume confirmation to ensure only legitimate momentum moves trigger signals. Customizable thresholds allow adaptation to any market volatility profile from calm stocks to wild altcoins.
ADVANCED WICK EXCLUSION FILTER
Eliminates false signals caused by candles with large wicks and small bodies. This filter focuses analysis exclusively on candles with substantial body sizes that indicate genuine directional conviction rather than temporary spikes followed by rejection. The body to candle ratio is fully adjustable to match your preferred signal quality standards.
VOLUME CONFIRMATION SYSTEM
Optional volume filter ensures detected pumps and dumps are backed by real market participation. The indicator compares current volume against a moving average and only triggers signals when volume exceeds your specified multiplier threshold. This eliminates low-volume noise and focuses on moves supported by institutional or crowd participation.
RALLY SEQUENCE DETECTION
Identifies and highlights consecutive sequences of pump or dump candles with colored background overlays. Green background indicates sustained buying pressure across multiple candles while red background shows sustained selling pressure. The rally detection system includes an optional one-miss allowance that prevents the sequence from breaking due to a single neutral candle.
HORIZONTAL REFERENCE LINES
Draws dashed lines from each game changer candle extending to the current bar, providing constant visual reference to the most significant support and resistance levels created by extreme momentum. The top game changer gets a thick dashed line while the second gets a dotted line for easy differentiation. Labels on the right side display the exact percentage move.
COMPREHENSIVE STATISTICS DASHBOARD
Real-time information panel showing current market status as pumping, dumping, or neutral along with the current candle percentage change. Displays the exact percentage values for top pump number 1, top pump number 2, top dump number 1, and top dump number 2. Shows running totals of all pumps and dumps detected since chart load. Tracks consecutive candle counts during active rally sequences.
TESTING AND VERIFICATION MODE
Built-in debug mode displays percentage change directly on each qualifying pump and dump candle, allowing instant verification that calculations are accurate. Shows which filters are currently active with a simple code in the dashboard. Helps traders understand exactly why certain candles qualified as game changers.
HOW THE GAME CHANGER DETECTION WORKS
SCANNING ALGORITHM
Every bar close, the indicator scans backward through your specified lookback period examining every candle's percentage change from its previous close. For bullish moves, it identifies the two candles with the largest positive percentage change that meet your threshold requirements. For bearish moves, it identifies the two candles with the largest negative percentage change meeting threshold requirements.
RANKING SYSTEM
Candles are ranked purely by their percentage move magnitude. The number 1 game changer is always the single strongest move in the lookback period. The number 2 game changer is the second strongest move. Rankings update dynamically as new candles form and old candles exit the lookback window.
VISUAL IDENTIFICATION
Game changer number 1 for both pumps and dumps receives a large gold label reading GAME CHANGER NUMBER 1 with zero transparency for maximum visibility. Game changer number 2 receives a slightly smaller gold label with partial transparency. The candle bars themselves are colored in gold instead of the standard green or red. Horizontal lines extend from the game changer price level to current bar.
FILTER APPLICATION
Only candles that pass your configured filters qualify for game changer consideration. If wick exclusion is enabled, candles with large wicks and small bodies are ignored. If volume confirmation is enabled, only candles with above-average volume qualify. This ensures game changers represent legitimate market moves rather than aberrations.
PRACTICAL APPLICATIONS
FOR CRYPTOCURRENCY TRADERS
Crypto markets experience extreme volatility with occasional massive pump and dump candles that define entire trends. This indicator instantly identifies which candles represent true market structure shifts versus normal noise. Use the game changer levels as key support and resistance for entries, exits, and stop placement. The top pump often marks the local high to watch for breakouts while the top dump marks the local low for reversal trades.
FOR DAY TRADERS
Intraday charts contain hundreds of candles but only a few truly matter for the session outcome. Game changer detection filters out 98 percent of candles to show you the 2 percent that drove the actual price movement. Enter trades on the side of the strongest recent game changer. Use game changer levels as magnet prices where algorithmic trading often returns.
FOR SWING TRADERS
On daily and four-hour timeframes, game changers represent major institutional activity or news-driven moves. The top dump often marks capitulation selling that creates reversal opportunities. The top pump often marks FOMO buying that creates resistance levels. Swing traders can build positions knowing these levels will be defended or tested multiple times.
FOR VOLATILITY ANALYSIS
Understanding which candles created the most volatility helps assess market risk. Multiple game changers clustered together indicate unstable choppy conditions. Game changers separated by many neutral candles indicate trending stable conditions. Use this context to adjust position sizing and stop distances appropriately.
FOR SUPPORT AND RESISTANCE TRADING
Game changer candles create the strongest support and resistance levels because they represent prices where massive volume transacted in short time periods. These levels have higher probability of holding on retest compared to arbitrary moving averages or pivot points. Trade bounces off game changer levels or breakouts through them.
RECOMMENDED SETTINGS BY MARKET
CRYPTOCURRENCY 15-MINUTE TO 1-HOUR CHARTS
Candle Size Threshold: 2.0 percent
Body to Candle Ratio: 0.5
Volume Multiplier: 1.5 times average
Game Changer Lookback: 100 bars
Extreme Threshold: 3.5 percent
Enable Wick Filter: Yes
Enable Volume Confirmation: Yes
Minimum Rally Candles: 3
STOCKS DAILY CHARTS
Candle Size Threshold: 1.0 percent
Body to Candle Ratio: 0.6
Volume Multiplier: 2.0 times average
Game Changer Lookback: 50 bars
Extreme Threshold: 2.5 percent
Enable Wick Filter: Yes
Enable Volume Confirmation: Yes
Minimum Rally Candles: 2
FOREX 1-HOUR TO 4-HOUR CHARTS
Candle Size Threshold: 0.5 percent
Body to Candle Ratio: 0.5
Volume Multiplier: Not applicable
Game Changer Lookback: 80 bars
Extreme Threshold: 1.0 percent
Enable Wick Filter: Yes
Enable Volume Confirmation: No
Minimum Rally Candles: 3
SCALPING 1-MINUTE TO 5-MINUTE CHARTS
Candle Size Threshold: 0.8 percent
Body to Candle Ratio: 0.4
Volume Multiplier: 1.2 times average
Game Changer Lookback: 50 bars
Extreme Threshold: 1.5 percent
Enable Wick Filter: No
Enable Volume Confirmation: Yes
Minimum Rally Candles: 2
WHAT IS INCLUDED
Automatic identification of top 2 pump candles
Automatic identification of top 2 dump candles
Gold colored game changer labels with size differentiation
Gold colored candle bars for game changers
Horizontal reference lines from game changers to current price
Regular pump and dump detection with green and red candles
Rally sequence detection with background highlighting
Extreme move detection and labeling system
Real-time statistics dashboard with all key metrics
Percentage change debug mode for verification
Volume confirmation filter with adjustable multiplier
Wick exclusion filter with adjustable body ratio
Customizable lookback period from 20 to 500 bars
Consecutive candle counter for rally tracking
Alert system for game changers, pumps, dumps, and rallies
Works on all timeframes from 1 minute to monthly
Compatible with stocks, forex, cryptocurrency, and futures
UNDERSTANDING GAME CHANGERS
WHAT MAKES A CANDLE A GAME CHANGER
A game changer is not just a large move but the largest move within context. In a volatile crypto market, a 5 percent pump might not rank in the top 2. In a stable stock, a 2 percent pump could be the number 1 game changer. The indicator adapts to your specific instrument and timeframe to find what truly matters in that context.
WHY FOCUS ON TOP 2 ONLY
Markets are driven by a small number of significant moves rather than the average of all moves. By focusing exclusively on the top 2 in each direction, traders can ignore noise and concentrate on the price levels that actually matter for support, resistance, and momentum. This creates clarity in decision making.
GAME CHANGERS AS MARKET STRUCTURE
The top pump often marks the recent high that bulls must break to continue uptrend. The top dump often marks the recent low that bears must break to continue downtrend. These become the key levels around which all other price action rotates. Understanding this structure is essential for profitable trading.
GAME CHANGERS AS SENTIMENT INDICATORS
Consecutive pump game changers signal strong bullish sentiment and FOMO conditions. Consecutive dump game changers signal fear and capitulation. Alternating pump and dump game changers signal indecision and range conditions. Read the pattern of game changers to gauge market psychology.
VERIFICATION AND TESTING
HOW TO VERIFY ACCURACY
Enable Show Debug Info on Chart in the Testing and Debug settings group. This displays the percentage change calculation directly on every qualifying pump and dump candle. Manually verify by calculating open minus close divided by close multiplied by 100. The debug percentage should match your manual calculation exactly.
HOW TO TEST FILTERS
Toggle wick exclusion filter on and off while watching how many candles qualify. With filter on, candles with long wicks and small bodies should disappear. Toggle volume confirmation on and off to see how low-volume candles get excluded. Adjust the thresholds and watch the real-time impact on signal count.
HOW TO VERIFY GAME CHANGERS
Look at your chart and visually identify which candle had the biggest green body in the lookback period. The game changer number 1 pump label should be on that exact candle. Repeat for the biggest red candle to verify game changer number 1 dump. The rankings should match your visual assessment.
LOOKBACK PERIOD EFFECTS
Decrease the lookback period to 20 bars and watch game changers update to only recent moves. Increase to 500 bars and watch game changers potentially change to older historic moves. The optimal lookback balances recency with significance. Too short misses important levels, too long includes irrelevant history.
DASHBOARD INFORMATION GUIDE
STATUS ROW
Shows PUMPING when current candle qualifies as a pump, DUMPING when current candle qualifies as a dump, or NEUTRAL when current candle does not meet threshold requirements. This updates in real-time on every bar close.
CURRENT CHANGE ROW
Displays the percentage change of the current candle from its previous close. Positive percentages indicate bullish candle, negative indicate bearish candle. This number may or may not meet your threshold to qualify as pump or dump.
TOP PUMP NUMBER 1
The highest positive percentage change found in your lookback period. This candle is marked with the large gold GAME CHANGER NUMBER 1 label below it. Shows N/A if no pumps exist in the lookback period.
TOP PUMP NUMBER 2
The second highest positive percentage change found in your lookback period. Marked with smaller gold GAME CHANGER NUMBER 2 label. Shows N/A if only one or zero pumps exist.
TOP DUMP NUMBER 1
The highest negative percentage change magnitude found in your lookback period. This candle is marked with the large gold GAME CHANGER NUMBER 1 label above it. Shows N/A if no dumps exist.
TOP DUMP NUMBER 2
The second highest negative percentage change magnitude found in your lookback period. Marked with smaller gold GAME CHANGER NUMBER 2 label. Shows N/A if only one or zero dumps exist.
TOTAL PUMPS
Running count of all pump candles detected since you loaded the indicator on this chart. This number continuously increases as new qualifying pumps form. Resets when you reload the chart.
TOTAL DUMPS
Running count of all dump candles detected since chart load. Increases as new qualifying dumps form and resets on chart reload.
CONSECUTIVE
Shows the current count of consecutive pump or dump candles during an active rally. Displays 3 UP during a 3-candle pump rally or 5 DN during a 5-candle dump rally. Shows 0 when no rally is active.
ALERT SYSTEM
GAME CHANGER DETECTED ALERT
Triggers whenever the current candle becomes one of the top 2 pumps or top 2 dumps. This is the highest priority alert indicating a market-moving event just occurred. Use this alert for immediate notification of significant opportunities.
PUMP DETECTED ALERT
Triggers on every candle that qualifies as a pump according to your threshold and filter settings. This includes regular pumps and extreme pumps but excludes game changers which have their separate alert. Use for general upward momentum monitoring.
DUMP DETECTED ALERT
Triggers on every candle that qualifies as a dump according to your settings. Includes regular and extreme dumps but excludes game changers. Use for general downward momentum monitoring.
PUMP RALLY STARTED ALERT
Triggers when consecutive pump candles reach your minimum rally threshold. Indicates the beginning of a sustained upward movement sequence. Use to catch trends early.
DUMP RALLY STARTED ALERT
Triggers when consecutive dump candles reach your minimum rally threshold. Indicates the beginning of a sustained downward movement sequence. Use for trend following or reversal timing.
ALERT MESSAGE FORMAT
All alerts include the ticker symbol and current price using TradingView placeholders. Messages are descriptive and specify which type of signal triggered. Alerts work with TradingView notification system including email, SMS, webhook, and app notifications.
TECHNICAL SPECIFICATIONS
CALCULATION METHODOLOGY
Percentage change calculated as current close minus previous close divided by previous close multiplied by 100. Body ratio calculated as absolute value of close minus open divided by high minus low. Volume elevation calculated as current volume divided by 20-period simple moving average of volume. Game changer ranking uses absolute value comparison across entire lookback array.
PERFORMANCE CHARACTERISTICS
Lightweight calculations optimized for speed on all timeframes. No repainting of signals ensuring all triggers are final on bar close. Variables properly scoped with var keyword for memory efficiency. Maximum bars back set to 500 to prevent excessive historical loading. Updates in real-time on every bar close without lag.
COMPATIBILITY
Works on all TradingView plans including free, pro, and premium. Compatible with stocks, forex, cryptocurrency, futures, indices, and commodities. Functions correctly on all timeframes from 1 second to monthly. No external data requests ensuring fast loading. Overlay true setting places directly on price chart.
RISK DISCLAIMER
This indicator is a technical analysis tool for identifying momentum and should not be used as the sole basis for trading decisions. Game changer levels can be broken during strong trends and are not guaranteed support or resistance. Pump and dump detection does not predict future price direction. Always use proper risk management with stop losses on every trade. Combine this indicator with other forms of analysis including fundamentals, market context, and risk assessment. Practice on demo accounts before live trading. Past performance of game changer signals does not guarantee future results. Trading carries substantial risk of loss and is not suitable for all investors. The creator is not responsible for trading losses incurred while using this tool.
SUPPORT AND UPDATES
Regular updates based on user feedback and market evolution. Built following PineCoders industry standards and best practices for code quality. Clean well-documented code structure for transparency and auditability. Optimized performance across all timeframes and instruments. Active development with continuous improvements and feature additions.
WHY CHOOSE ZS GAME CHANGER PUMP AND DUMP DETECTOR
Focuses on what matters by highlighting only the top 2 moves in each direction instead of cluttering your chart with every small fluctuation. Saves time by automatically identifying the most significant candles rather than requiring manual scanning. Provides clarity through visual gold labels and reference lines that make game changers unmistakable. Adapts to any market with customizable thresholds for volatility and volume. Eliminates noise with advanced wick and volume filters ensuring signal quality. Offers verification through debug mode proving calculations are accurate and trustworthy. Includes comprehensive statistics showing exact percentages and counts. Works everywhere across all markets, timeframes, and instruments without modification.
Transform your chart analysis by focusing exclusively on the game-changing moments that define trends and create opportunities.
Version 1.1 | Created by Zakaria Safri | Pine Script Version 5 | PineCoders Compliant
Total Info Indicator by MikePenzin
 Install & Add to Chart 
 • Copy the script into  Pine Editor  → click  Add to Chart .
 • Open the  ⚙️ Settings → Inputs  to customize.
 What It Does 
 • Displays key info in a floating table — trend, volume, ATR, RSI, stop loss, and more.
 • Detects  breakouts ,  smart SELL signals , and  opening strength .
 • Uses emojis and colours to make trends easy to read: 🟢 good, 🟡 neutral, 🔴 risky.
 For Swing Traders 
 • Works best on  Daily  or  4H  charts.
 • Watch for 🟢 Uptrend + ⚡BUY / 🔥BUY breakout signals.
 • Use ATR-based Stop Loss (shown in table).
 • Avoid new entries a few days before earnings.
 Suggested Setup 
 • 20/50/150 MA Lines:  ON 
 • 200 MA Line: optional
 • ATR Multiplier:  1.3 
 • Breakout Detection:  ON  (Volume + RSI + Trend filters)
 • Smart SELLs:  ON  (RSI 70, EMA 20)
 • Pivots:  ON  for quick swing levels
 How to Read 
 •  MA Row:  🟢 = price above MA (bullish).
 •  ATR/Stop Loss:  Suggests where to place protective stop.
 •  Volume Info:  Today’s vs 20-day average, plus pace.
 •  RSI & CCI:  Shows momentum and overbought/oversold levels.
 •  Breakouts:  ⚡BUY (early), 🔥BUY (confirmed).
 •  Smart SELLs:  RSI🔴 / DIV🟣 / EMA🔵 mean potential exit zones.
 Example Use 
 1️⃣ Find stocks with  Uptrend 🟢 , rising volume, and ⚡BUY signal.
 2️⃣ Enter near breakout; set Stop = shown level.
 3️⃣ Take profits or trail when Smart SELLs appear or RSI peaks.
 Tips 
 • Choose table corner under “Table Visualization.”
 • Reduce clutter on small timeframes (turn off Pivots/200 MA).
 • Use “Volume speed” to spot surging interest before breakouts.
 • Compatible with most equities and ETFs.
 Disclaimer 
 This script is for  education & analysis only .
 Not financial advice — always manage your own risk.
GRG/RGR Signal, MA, Ranges and PivotsThis indicator is a combination of several indicators. 
It is a combination of two of my indicators which I solely use for trading
 1. EMA 10-20-50-200, Pivots and Previous Day/Week/Month range 
 2. 3/4-Bar GRG / RGR Pattern (Conditional 4th Candle) 
You can use them individually if you already have some of them or just use this one. Belive me when I say, this is all you need, along with market structure knowlege and even if you don’t have that, this indicator has been doing wonders for me. This is all I use. I do not use anything else.
 **Note  - Do checkout the indicators individually as I have added valuable information in the comment section.
It contains the following,
 1. 10 EMA/SMA - configurable
2. 20 EMA/SMA - configurable
3. 50 EMA/SMA - configurable
4. 200 EMA/SMA - configurable
5. Previous Day's Range - configurable
6. Previous Week's Range - configurable 
7. Previous Month's Range - configurable 
8. Pivots - configurable 
9. Buy Sell Signal - configurable  
 The Moving Averages 
It is a very important combination and using it correctly with price action will strengthen your entries and exits.
The ema's or sma's added are the most powerful ones and they do definitely act as support and resistance.
 The Daily/Weekly/Monthly Ranges 
The Daily/Weekly/Monthly ranges are extremely important for any trader and should be used for targets and reversals.
 Pivots 
Pivots can provide support and resistance level. R5 and S5 can be used to check for over stretched conditions. You can customise them however you like. It is a full pivot indicator. 
It is defaulted to show R5 and S5 only to reduce noise in the chart but it can be customised. 
 The 3/4 RGR or GRG Signal Generator  
Combined with a 3/4 RGR or GRG setup can be all a trader needs.
You don't need complex strategies and SMC concepts to trade. Simple EMAs, ranges and RGR/GRG setup is the most winning combination.
This indicator can be used to identify the Green-Red-Green or Red-Green-Red pattern.
It is a price action indicator where a price action which identifies the defeat of buyers and sellers.
If the buyers comprehensively defeat the sellers then the price moves up and if the sellers defeat the buyers then the price moves down.
In my trading experience this is what defines the price movement.
It is a 3 or 4 candle pattern, beyond that i.e, 5 or more candles could mean a very sideways market and unnecessary signal generation.
 How does it work? 
 Upside/Green signal 
1. Say candle 1 is Green, which means buyers stepped in, then candle 2 is Red or a Doji, that means sellers brought the price down. Then if candle 3 is forming to be Green and breaks the closing of the 1st candle and opening of the 2nd candle, then a green arrow will appear and that is the place where you want to take your trade.
2. Here the buyers defeated the sellers.
3. Sometimes candle 3 falls short but candle 4 breaks candle 1's closing and candle 2's opening price. We can enter on candle 4.
4. Important - We need to enter the trade as soon as the price moves above the candle 1 and 2's body and should not wait for the 3rd or 4th candle to close. Ignore wicks.
5. But for a more optimised entry I have added an option to use candle’s highs and lows instead of open and close. This reduces lot of noise and provides us with more precise entry. This setting is turned on by default.
6. I have restricted it to 4 candles and that is all that is needed. More than that is a longer sideways market.
7. I call it the +-+ or GRG pattern or Green-Red-Green or Buyer-Seller-Buyer or Seller defeated or just Buyer pattern.
8. Stop loss can be candle 2's mid for safe traders (that includes me) or candle 2's body low for risky traders.
9. Back testing suggests that body low will be useless and result in more points in loss because for the bigger move this point will not be touched, so why not get out faster.
 Downside/Red signal 
1. Say candle 1 is Red, which means sellers stepped in, then candle 2 is Green or a Doji, that means buyers took the price up. Then if candle 3 is forming to be Red and breaks the closing of the 1st candle and opening of the 2nd candle then a Red arrow will appear and that is the place where you want to take your trade.
2. Sometimes candle 3 falls short but candle 4 breaks candle 1's closing and candle 2's opening price. We can enter on candle 4.
3. We need to enter the trade as soon as the price moves below the candle 1 and 2's body and should not wait for the 3rd or 4th candle to close.
4. But for a more optimised entry I have added an option to use candle’s highs and lows instead of open and close. This reduces lot of noise and provides us with more precise entry. This setting is turned on by default.
5. I have restricted it to 4 candles and that is all that is needed. More than that is a longer sideways market.
6. I call it the -+- or RGR pattern or Red-Green-Red or Seller-Buyer-Seller or Buyer defeated or just Seller pattern.
7. Stop loss can be candle 2's mid for safe traders ( that includes me) or candle 2's body high for risky traders.
8. Back testing suggests that body high will be useless and result in more points in loss because for the bigger move this point will not be touched, so why not get out faster.
 Combining Indicators and Signal 
Combining these indicators with GRG/RGR signal can be very powerful and can provide big moves.
1.  MA crossover and Signal -  This is very powerful and provides a very big move. Trades can be held for longer. If after taking the trade we notice that the MA crossover has happened then trades can be held for higher targets.
2.  Pivots and Signal -  Pivots and add a support or resistance point. Take profits on these points. R5/S5 are over streched conditions so we can start looking for reversal signals and ignore other signals
3.  Intraday Range -  first 1, 5, 15 min of the day - Sideways days is when price will stay in these ranges. You can take profits at these ranges or if the range is broken and we get a signal, then it can mean that the direction will be sustained.
4.   Previous Day/Week/Month Ranges -  These can be used as Take Profit points if the price is moving towards them after getting the signal. If the range is broken and we get a signal then it can be a strong signal. They can also be used as reversal points if a strong signal is generated.
 Important Settings 
1. Include 4th Candle Confirmation - You can enable or disable the 4th candle signal to avoid the noise, but at times I have noticed that the 4th candle gives a very strong signal or I can say that the strong signal falls on the 4th candle. This is mostly a coincidence.
2. Bars to check (default 10) - You can also configure how many previous bars should the signal be generated for. 10 to 30 is good enough. To backtest increase it to 2000 or 5000 for example.
3. Use Candle High/Low for confirmation instead of Candle Open/Close - More optimized entry and noise reduction. This option is now defaulted to false.
4. Show Green-Red-Green (bull) signals - Show only bull entries. Useful when I have a predefined view i.e, I know market is going to go up today.
5. Show Red-Green-Red (bear) signals - Show only bear entries. Useful when I have a predefined view i.e, I know market is going to go down today.
6. 3rd candle should be a Strong candle before considering 4th candle - This will enforce additional logic in 4 candle setup that the 3rd candle is the candle in our direction of breakout. This means something like GRGG is mandatory, which is still the default behaviour. If disabled, the 3rd candle can be any candle and 4th candle will act as our breakout candle. This behaviour has led to breakouts and breakdowns as times, hence I added this as a separate feature. Vice-versa for a RGGR.
	For a 4 candle setup till now we were expecting GRGG or RGRR but we can let the system ignore the 3rd candle completely if needed.
	This will result in additional signals.
7. Three intraday ranges added for index and stock traders - 1 min, 5 min and 15 min ranges will be displayed. These are disabled by default except 15 min. These are very important ranges and in sideways days the price will usually move within the 15 min. A breakout of this range and a positive signal can be a very powerful setup.
	Safe traders can avoid taking a trade in this range as it can lead to fakeouts.
	The line style, width, color and opacity are configurable.
 Pointers/Golden Rules 
1. If after taking the trade, the next candle moves in your direction and closes strong bullish or bearish, then move SL to break even and after that you can trail it.
2. If a upside trade hits SL and immediately a down side trade signal is generated on the next candle then take it. Vice versa is true.
3. Trades need to be taken on previous 2 candle's body high or low combined and not the wicks.
4. The most losses a trader takes is on a sideways day and because in our strategy the stop loss is so small that even on a sideways day we'll get out with a little profit or worst break even.
5. Hold trades for longer targets and don't panic.
6. If last 3-4 days have been sideways then there is a good probability that today will be trending so we can hold our trade for longer targets. Inverse is true when the market has been trending for 2-3 days then volatility followed by sideways is coming (DOW theory). Target to hold the trade for whole day and not exit till the day closes.
7. In general avoid trading in the middle of the day for index and stocks. Divide the day into 3 parts and avoid the middle.
8. Use Support/Resistance, 10, 20, 50, 200 EMA/SMA, Gaps, Whole/Round numbers(very imp) for identifying targets.
9. Trail your SL.
10. For indexes I would use 5 min and 15 min timeframe and at times 10 mins.
11. For commodities and crypto we can use higher timeframe as well. Look for signals during volatile time durations and avoid trading the whole day. Signal usually gives good targets on those times.
12. If a GRG or RGR pattern appears on a daily timeframe then this is our time to go big.
13. Minimum Risk to Reward should be 1:2 and for longer targets can be 1:4 to 1:10.
14. Trade with small lot size. Money management will happen automatically.
15. With small lot size and correct Risk-Reward we can be very profitable. Don't trade with big lot size.
16. Stay in the market for longer and collect points not money.
17. Very imp - Watch market and learn to generate a market view.
18. Very imp - Only 3 type of candles are needed in trading - 
Strong Bullish (Big Green candle), Strong Bearish (Big Red candle), 
Hammer (it is Strong Bullish), Inverse Hammer (it is Strong Bearish) 
and Doji (indecision or confusion). 
If on daily timeframe I see Strong Bullish candle previous day then I am biased to the upside the next day, if I see Strong Bearish candle the previous day then I am biased to the downside the next day, if I see Doji on the previous day then I am cautious the next day, if there are back to back Dojis forming in daily or weekly then I am preparing for big move so time to go big once I get the signal.
19. Most Important Candlestick pattern - Bullish and Bearish Engulfing
20. The only Chart patterns I need - 
a) Falling Wedge/Channel Bullish Pattern Uptrend or Bull Flag - Buying - Forming over a couple days for intraday and forming over a couple of weeks for swing 
b) Falling Wedge/Channel  Bullish Pattern Downtrend or Falling Channel - Buying
c) Rising Wedge Bearish Pattern Uptrend or Rising Channel - Selling
d) Rising Wedge Bearish Pattern Downtrend or Bear flag - Selling
e) Head and Shoulder - Over a longer period not for intraday. In 15 min takes few days and for swing 1hr or 4h or daily can take few days
f) M and W pattern - Reversal Patterns - They form within the above 4 patterns, usually resulting in the break of trend line
21. How Gaps work - 
a) Small Gap up in Uptrend - Market can fill the gap and reverse. The perception is that people are buying. If previous day candle was Strong Bullish then market view is up.
b) Big Gap up in Uptrend - Not news driven - Profit booking will come but may not fill the entire gap
c) Big Gap up in Uptrend - News driven, war related, tax, interest rate - Market can keep going up without stopping.
c) Flat opening in Uptrend - Big chance of market going up. If previous day candle was Strong Bullish then view is upwards, if it was Doji then still upwards.
d) Gap down in Uptrend - Market is surprised. After going down initially it can go up
e) Small Gap down in Downtrend - Market can fill the gap and keep moving down. If previous day candle was Strong Bearish then view is still down.
f) Flat opening in Downtrend - View is down, short today.
g) Big Gap down in Downtrend - Profit booking and foolish buying will come but market view is still down.
h) Gap down with News - Volatility, sideways then down. 
i) Gap Up in Downtrend - Can move up - Price can move up during 2/3rd of the day and End of the day revert and close in red.
22. Go big on bearish days for option traders. Puts are better bought and Calls are better sold.
23. Cluster of green signals can lead to bigger move on the upside and vice versa for red signals.
24. Most of this is what I learned from successful traders (from the top 2%) only the indicator is mine.






















